0

忙しい猫
添付の画像のようなレイアウトを作成したいのですが、メディアコントローラーを作成すると、ビデオプレーヤーの下に表示されず、アクティビティの中央下部に表示されるという問題があります。xmlファイルでmediacontrollerを作成しようとしましたが、どちらも機能せず、このhttps://stackoverflow.com/a/10315093/1065357も試しましたが、機能しません。私はアンドロイド4タブレットバージョンを使用しています。
ありがとうございました

4

1 に答える 1

1

カスタム メディア コントロール パネルを作成したり、ボトム パネルを使用したり、再生、一時停止、停止などのボタンを追加したりできますlayout gravity。カスタムの再生、一時停止、停止、転送などのボタンをクリックするとmediaPlayer.play()、呼び出すことができますmediaPlayer.pause()

SurfaceHolder.callback この目的のために、次のようにインターフェースを実装する必要があります。

public class VideoViewActivity extends Activity implements SurfaceHolder.Callback 
{

public boolean canPause() 
{
// TODO Auto-generated method stub

    Log.e("paused ","called");
    return true;
}


public boolean canSeekBackward() {
    // TODO Auto-generated method stub
    return true;
}


public boolean canSeekForward() {
    // TODO Auto-generated method stub
    return true;
}


public int getBufferPercentage()
{
    // TODO Auto-generated method stu
    return 0;
}


public int getCurrentPosition() 
{
    // TODO Auto-generated method stub

    return mMediaPlayer.getCurrentPosition();


}


public int getDuration() 
{
    // TODO Auto-generated method stub
    return mMediaPlayer.getDuration();
}


public boolean isPlaying() 
    {
    // TODO Auto-generated method stub
    return mMediaPlayer.isPlaying(); 
}


public void pause() {
    // TODO Auto-generated method stub
    mMediaPlayer.pause();
}


public void seekTo(int pos) {
    // TODO Auto-generated method stub

    mMediaPlayer.seekTo(pos);

}


public void start()
{
    // TODO Auto-generated method stub
    mMediaPlayer.start();
}

}

このインターフェイスを実装すると、メディア制御機能 (再生、一時停止、シークなど) にアクセスできるようになります。

表面ホルダーはすぐに入手でき SurfaceHolder holder= surfaceView.getHolder();ますmediaPlayer.setDisplay(holder)

videoViewActivity のレイアウトで surfaceView タグを宣言します。サーフェス ホルダーは、ビデオのビデオ ストリームを表示するコンポーネントです。

これが役立つことを願っています。

于 2012-05-29T15:47:56.687 に答える