android - Android 中的媒体播放器无法正确恢复

标签 android video media-player surfaceview

我在我的 Android 应用程序中使用了 SurfaceView,并在此 SurfaceView 上通过媒体播放器播放视频。

在我的 Activity 中,我成功播放、暂停和恢复视频文件。

当我在 VideoActivity 中暂停视频,然后在其上打开一个新 Activity ,然后返回到我的 VideoActivity 并恢复视频时,如果视频已恢复,但无显示且黑屏。

为什么? 我该如何解决这个问题?

我的暂停和恢复方法:

public void pausePlayback() {

        if (mediaPlayer != null && mediaPlayer.isPlaying())
        {
            mediaPlayer.pause();
        }
    }

public void resumePlayback() {

        if (mediaPlayer != null && !mediaPlayer.isPlaying())
        {
            surfaceView1.requestFocus();
            mediaPlayer.start();
        }
    }

最佳答案

这通常是由于未能将 MediaPlayer 连接到新 Surface 造成的。当您切换 Activity 时,SurfaceView 及其关联的 Surface 会被拆除,因此当您回来时,您需要使用 MediaPlayer#setSurface() 连接到新的 Surface .

关于android - Android 中的媒体播放器无法正确恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30207627/

相关文章:

安卓:找不到 com.android.support:support-v4:23.2.1

video - 如何在jwplayer中播放Google Drive视频?

android - 播放音频文件存储的Android应用程序的应用程序路径

android - 如何捕获媒体播放器数据源无文件错误?

android - 如何从android中另一个 Activity 的数据库中获取数据

android - 缩放时更改 ImageView 的大小

javascript - 无法在Phonegap中播放YouTube视频

android - java.lang.IllegalStateException : You need to use a Theme. AppCompat 主题与此 Activity

video - 即时更改 ffmpeg 输入

JavaFX:视频比正常速度快 2 倍