android - 即使 fragment 内的方向发生变化,也要保持视频播放?

标签 android android-fragments android-videoview android-configchanges

这样的问题已经发布,但在我的情况下,存在一些差异。 我对 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/

相关文章:

android - SQLite中的多线程数据写入

android - 如何使用现有数据在android中创建数据库?

android VideoView增加缓冲

android - Dialog 的键盘消失后,VideoView 未正确呈现

android - 应用程序 AChartengine 意外停止。请再试一次

java - 为什么对象返回空?安卓。改造2

Android - 使用匿名类的 fragment 交互

android - Fragment.isVisible() 返回 false,即使 Fragment 添加并可见

android - fragment 内带有 SupportMapFragment 的 NullPointerException

android - 应用程序以原生 4k 显示其图像内容的机制