【发布时间】:2014-11-17 12:58:35
【问题描述】:
我在使用 SurfaceView 实现 Android MediaPlayer 时遇到了一个奇怪的现象。 该错误仅发生在装有 Android 2.3.7 (Samsung Galaxy S1) 的设备上。
Activity A 是一个全屏视频 Activity,仅支持横向。 单击视频上的链接时,我会暂停视频并打开一个内部浏览器,该浏览器也支持纵向。 关闭内部浏览器 Activity 后,Activity A 会恢复,应该会恢复视频。
我在收到surfaceCreated 和surfaceChanged 回调时调用MediaPlayer.setDisplay(),在收到surfaceDestroyed 时调用MediaPlayer.setDisplay(null)。
发生的情况是,在回到全屏 Activity 后,整个 Activity 处于横向模式,只有视频处于纵向模式。即使我旋转设备,它仍保持纵向模式。
还有 2 件事: - 它不会发生在 4.0 及更高版本上。视频按预期以横向模式继续播放。 - 只有当我将设备置于纵向模式时单击链接按钮才会发生这种情况(活动仍处于横向模式,但设备处于横向模式)。 如果我先将设备旋转到横向然后单击链接,当从内部浏览器返回时,视频方向是可以的。
所以看起来它与分离表面有关,而不是与重新连接有关。
有什么线索吗?
谢谢
【问题讨论】:
标签: android media-player surfaceview android-orientation