videoview播放视频 横屏时从头播放怎么解决

dalancon 2012-05-19 05:07:17

VideoView video = (VideoView)findViewById(R.id.video);
File mp4file = new File("/data/avril.3gp");
controller = new MediaController(this);
if(mp4file.exists()){
video.setVideoPath(mp4file.getAbsolutePath());
video.setMediaController(controller);
controller.setMediaPlayer(video);
video.start();
}


如题,一旦我将屏幕切换横屏或竖屏时不能继续播放 ,怎么解决? 高手帮忙
...全文
453 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dalancon 2012-05-21
  • 打赏
  • 举报
回复
谢谢你啊 嘿嘿 解决啦 嘿嘿
Blueden9633 2012-05-20
  • 打赏
  • 举报
回复

@Override
protected void onRestoreInstanceState(Bundle outState) {
int sec = outState.getLong("time");
video.seekto(sec);
super.onRestoreInstanceState(outState);
}

@Override
protected void onSaveInstanceState(Bundle outState) {
int sec = video.getCurrentPosition();
outState.putLong("time", sec);
super.onSaveInstanceState(outState);
}


或者直接用全局变量保存时间也行。
dalancon 2012-05-20
  • 打赏
  • 举报
回复
LS\
覆写onSaveInstanceState(Bundle)与onRestoreInstanceState(Bundle)方法,应用创建时的super.onCreate(savedInstanceState),就是说这两个方法,横竖屏切换时首先调用onSaveInstanceState,此时可以写入视频进度的信息,activity恢复时onCreate调用onRestoreInstanceState,此时将视频进度信息加入你的播放即可。


能不能教教我怎么复写啊 具体代码啊
Blueden9633 2012-05-19
  • 打赏
  • 举报
回复
横屏竖屏切换时会重启activity,当然会从头播放了。
最简单的方法是禁止竖屏好了,看视频一般也是横屏看的。
AndroidManifest.xml里加上
android:screenOrientation="landscape"

或者覆写onSaveInstanceState(Bundle)与onRestoreInstanceState(Bundle)方法,应用创建时的super.onCreate(savedInstanceState),就是说这两个方法,横竖屏切换时首先调用onSaveInstanceState,此时可以写入视频进度的信息,activity恢复时onCreate调用onRestoreInstanceState,此时将视频进度信息加入你的播放即可。

80,355

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧