2013-03-01 7 views
5

Ich möchte eine Anwendung wie eine Taschenlampe schreiben (mit Hilfe der Kamera LED).BlackBerry - Videofeld kann ausgeblendet werden?

Player player = javax.microedition.media.Manager.createPlayer("capture://video?encoding=video/3gpp"); 

player.realize(); 

VideoControl videoControl = (VideoControl) player.getControl("VideoControl"); 
if(videoControl != null) 
{ 
    videoField = (Field)videoControl.initDisplayMode(VideoControl.USE_GUI_PRIMITIVE, "net.rim.device.api.ui.Field"); 
    try 
    { 
     videoControl.setDisplaySize(1, 1); 
    } 
    catch(Exception e) 
    { 
     PGLogUtil.logString(e.toString()); 
    } 
    videoControl.setVisible(true); 
    add(videoField); 

    FlashControl flashControl = (FlashControl) 
      player.getControl("javax.microedition.amms.control.camera.FlashControl"); 
    setFlashlight(true); 
} 
player.start(); 

Der obige Code funktioniert perfekt, aber ich möchte die videoField verstecken. Wenn ich add(videoField) entfernte oder videoControl.setVisible(false) nutze, funktioniert die Taschenlampe nicht. Kann jemand erklären warum?

Wie kann ich Lichter mit einem versteckten videoField einschalten?

+0

Welche Mindest-OS müssen Sie festgelegt wird funktionieren? – Nate

+0

Blackberry OS 6.0 – CAMOBAP

+0

Versuchen Sie vielleicht, einen anderen Bildschirm in den Vordergrund zu schieben, oder wenn Sie MainScreen erweitern, überschreiben Sie Farbe und tun Sie nichts dort. – Ajibola

Antwort

-1

Ich habe gerade eine bb, die einen Blitz hatte ich wollte meine Hände auf das gleiche Problem versuchen. Ich habe es schließlich trotzdem zur Arbeit gebracht. auf, was ich während der gesamten Testzeit beobachtet wurde, war, dass, wenn die videoField versteckt wie Sie gesagt haben, würde der Blitz ... nicht funktioniert also der Trick, den ich tat, war

<pre> 
    _videoControl.setDisplaySize(1 , 1); 
    </pre> 

Und dass die Arbeit für mich getan hat . Sie könnten genauso gut auf

gesetzt
<pre> 
    _videoControl.setDisplaySize(0 , 0); 
    </pre> 

Aber was auch immer Sie tun ... sicherzustellen, dass Sie

<pre> 
    _videoControl.setVisible(true); 
    </pre> 

sonst Ihre Flash-Unterstützung nicht

+0

Diese" Antwort "ist nur eine Wiederholung dessen, was die Frage geschrieben hat. Welche neuen Informationen fügst du hinzu? – Nate

+0

@Nate: Er fragte, wie er das Videofeld verstecken könnte und ich schlug vor, dass er die Displaygröße des Steuerelements einstellte ... – Nuel

+1

Sie wiederholten einfach den ** genauen ** gleichen Code, den er sagte, dass er bereits versuchte. – Nate

Verwandte Themen