这样的问题已经发布,但在我的情况下,存在一些差异。
我对 fragment 的横向和纵向模式(两种模式都有 VideoView
)有不同的布局设计,这就是为什么我不能使用如下的 configChanges:
android:configChanges="screenSize|orientation|keyboardHidden"
现在,当我旋转时,一切都会重新创建。 我尝试了 retainState/saveInstanceState 但没有成功。
我希望我的视频像 YouTube 应用一样连续播放。
如有任何帮助,我们将不胜感激。
最佳答案
如果您使用 MediaPlayer 类进行视频播放,我建议您不要这样做。 YouTube 应用程序使用名为 ExoPlayer 的库,该库在 Android 设备上的视频支持方面要好得多。设置和操作有点困难,但一旦成功,在所有 Android 设备上播放视频就更好了。
话虽这么说。您仍然需要停止视频并在特定时间范围内继续播放。执行此操作的最佳方法是获取旋转时间戳,一旦正在播放的表面再次准备就绪(如果使用 ExoPlayer 库,则为 onSurfaceCreated 或 onSurfaceChanged 事件)在该时间戳再次启动视频。
关于android - 即使 fragment 内的方向发生变化,也要保持视频播放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32971305/