0

一只忙碌的猫
我想制作像附加图像一样的布局,但问题是当我创建媒体控制器时,它不会出现在视频播放器下方,而是显示在活动的中心底部。我试图在 xml 文件中制作媒体控制器,但它也不起作用,也试过这个https://stackoverflow.com/a/10315093/1065357但它也不起作用。我正在使用 android 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 回答