我有一个
Android代码,用于使用视频和控制按钮播放视频,如使用mediacontroller暂停,倒带和前进.它适用于nexus S以及许多三星手机,但mediacontroller按钮似乎不适用于nexus 7!我需要它在所有设备上工作.我还需要做些什么吗?
MediaController mediacontroller = new MediaController(Activity.this); mediacontroller.setAnchorView(videoview); Uri video = Uri.parse("path/to/video"); videoview.setMediaController(mediacontroller); videoview.setVideoURI(video); videoview.start();
解决方法
在
Unable to pause/forward/backward video using mediacontroller in android中偶然发现了这个答案.一些LG设备似乎也有这个问题.
正如@Vineela Yarlagadda所提到的,您需要覆盖下面的VideoView方法
@Override public boolean canSeekForward() { return true; } @Override public boolean canSeekBackward() { return true; } @Override public boolean canPause() { return true; }
经过测试和测试适用于Nexus 7.
替代解决方案:
使用SurfaceView而不是ApiDemos中的示例代码中建议的VideoView.
setContentView(R.layout.media_player2); mSurface = (SurfaceView) findViewById(R.id.surface); holder = mSurface.getHolder(); holder.addCallback(this); mMediaPlayer = new MediaPlayer(); mMediaPlayer.setDataSource(stream); mMediaPlayer.setDisplay(holder); mMediaPlayer.prepareAsync(); mController = new MediaController(this); mMediaPlayer.setOnBufferingUpdateListener(this); mMediaPlayer.setOnCompletionListener(this); mMediaPlayer.setOnPreparedListener(this); mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mController.setMediaPlayer(this); mController.setAnchorView(mSurface);
在我使用VideoView和Player时遇到与@kriswiz相同的问题后,我打开了bug code.google.com/p/android/issues/detail?id=59776.该视频现在将在Nexus 7和三星Nexus上播放.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。