1

我有一个 MediaPlayer 播放视频,一切正常,除了当你锁定屏幕然后解锁它时,视频将重新启动。

目前我正在使用

    KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE);
    KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
    lock.disableKeyguard();

它可以工作,但是如果您按下主页按钮,您将无法锁定屏幕,因为应用程序已将其关闭。您知道无需使用 KeyGuardLock 即可保持视频进度的更好方法吗?

4

2 回答 2

4

而不是 KeyGuard,您可以简单地android:keepScreenOn=trueVideoView布局 xml 中使用。

对于后一部分,您必须将视频的进度保存在 中onSaveInstanceState()并将进度数据加载到 中onRestoreInstanceState(),而不是仅seekTo(progress)在您的视频上使用您刚刚返回的数据。

也不要忘记检查 nullonRestoreInstanceState()以防它是新的播放。

于 2012-07-25T14:29:01.443 回答
0

您在哪里启动媒体播放器来播放视频(mvideo.start)。它是在 onCreate 方法还是 onRestart 方法中?如果你用代码更新你的问题来解决这个问题,这将是很有帮助的。

于 2012-07-25T13:44:05.033 回答