2012-02-21 30 views
1

1つのVideoComponentに1つのイメージを描画するためのバリアントを見つけようとしましたが、明らかに不可能です。私がやっていることは、ビデオ再生を一時停止して画像を表示し、フォームに戻るボタンを追加することです。LWUITフレームワークを使用してVideoComponentコントロールに画像を描画する方法は?

//Attributes 
VideoComponent vc; 
Player player; 
Image imgPause; 

//Constructor for video player class 
public VideoPlayer(String filename) 
{ 
    pauseImg = Image.createImage("/pause.png"); 
    if(pauseImg == null) 
     Log.p("ERROR, VideoPlayer pauseImg is null!!"); 
    vc = VideoComponent.createVideoPeer(fileName); 
    player = (Player) vc.getNativePeer(); 

    if(vc != null){           
     vc.setFullScreen(true); 
     vc.playInNativePlayer();      
     start();       
     setLayout(new BorderLayout()); 
     Container container = new Container(new FlowLayout()); 
     Button backButton = new Button("back");   
     backButton.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent ae) {       
       closeForm();      
      } 
     });   
     container.addComponent(backButton); 
     addComponent(BorderLayout.CENTER, vc); 
     addComponent(BorderLayout.EAST, container); 
} 

final public void start() { 
    try { 
     if(vc != null) { 
      player.realize(); 
      player.prefetch();  
      vc.start();     
     } 
    } catch(Exception ex) { 
     Log.p(ex.getMessage()); 
    }   
} 

public void paint(Graphics g) { 
    super.paint(g);  
    if(!isPlaying()) 
    { 
     int imgWidth = pauseImg.getWidth(); 
     int imgHeight = pauseImg.getHeight(); 
     Log.p("pauseImg.width() = " + imgWidth); 

     g.drawImage(pauseImg, getWidth()/2 - imgWidth/2 , getHeight()/2 - imgHeight/2); 
    }   
} 

public void pointerReleased(int x, int y) { 
    super.pointerReleased(x, y);   
    Log.p("VideoPlayer.pointerReleased "); 
    if(vc != null) { 
     if(isPlaying()){ 
      vc.stop(); 
      repaint(); 
     }     
     else { 
      vc.start(); 
      repaint(); 
     }    
    }  

}  

答えて

2

これはLWUITとは無関係のMMAPIの問題です:

問題は、画像がVideoComponentコントロールの上、以下のコードの

パートを塗られないことです。デフォルトでは、ビデオは常に上に表示されます。

MMAPIのJSR 234は、このような機能をサポートしていますが、MIDP固有のメディア実装と電話機固有の実装を深く検討する必要があります。

+0

ありがとうShai Almog! – jordenysp

関連する問題