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