作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
无论如何,您是否可以让应用程序在定向后保持缓冲区,而无需手动处理配置更改。
场景基本:
当方向改变时,应保留直到最新点的视频缓冲区。
需要重新加载一个新的布局(因为纵向和横向的布局不同),因此,让应用重新启动 Activity 以重新加载新资源是我认为的最佳方式。
视频组件在 fragment 中。
我尝试过但 Not Acceptable 替代方案:
第一个解决方法是保存视频的位置,在创建 View 后,使用 seekTo 转到最后一个点。但是,这将导致设备再次重新缓冲。
我曾尝试使用 fragment setRetainInstance(true) 并确保媒体播放器在方向更改后不会重新初始化。在每个 onCreateView 之后,我只是将 mediaplayer.setDisplay() 设置为一个新的 surfaceholder。不幸的是,这会导致媒体播放器进入错误状态,进而需要重置媒体播放器。
对此有什么建议/解决方法吗?
已编辑:我在 stackoverflow 的某个地方看到,当媒体播放器在 android 4.0+ 中处于 Activity 状态时,您可以更改媒体播放器表面支架。但是,我正在为 android 3.x 开发一个应用程序。
最佳答案
我认为您可以覆盖 onConfigurationChanged() 并以编程方式重新布局。
您可以在不触摸视频的情况下修改布局。
关于android - 确保在方向更改后保留视频缓冲区,而无需手动处理 onConfiguration 更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10679021/
我是一名优秀的程序员,十分优秀!