MediaPlayer在Android 2.3.7上失去了方向

时间:2014-11-17 12:58:36

标签: android media-player surfaceview android-orientation

在使用SurfaceView实现Android MediaPlayer时,我遇到了一些奇怪的现象。 该错误仅发生在安装了Android 2.3.7(三星Galaxy S1)的设备上。

活动A是一个全屏视频活动,仅支持横向。 单击视频上的链接时,我会暂停视频并打开内部浏览器,该浏览器还支持纵向方向。 关闭内部浏览器活动后,活动A将恢复,并应恢复视频。

我在收到MediaPlayer.setDisplay()surfaceCreated回调时致电surfaceChanged,并在获得surfaceDestroyed时致电MediaPlayer.setDisplay(null)

发生的情况是,在返回全屏活动后,整个活动都处于横向模式,只有视频处于纵向模式。即使我旋转设备,它仍处于纵向模式。

另外两件事: - 4.0及以上版本不会发生这种情况。视频按照预期以横向模式恢复。 - 仅当我在纵向模式下按住设备时单击链接按钮才会发生(活动仍处于横向模式,但设备保持横向状态)。   如果我首先将设备旋转为横向,然后单击链接,则从内部浏览器返回时,视频方向正常。

所以看起来它与分离表面有关,而不是重新附着。

有任何线索吗?

由于

1 个答案:

答案 0 :(得分:0)

很晚才回答这个问题,但直接在我的视频播放器活动中设置android:screenOrientation="fullSensor"修复了我的MediaPlayer定位问题。