我正在使用google IMA示例在我的应用程序中运行视频,经过一些更改以确保它满足了我的需要,但我仍然遇到了无法重新注册的问题,我想要当应用程序从后台返回时要播放的视频或根据活动停止前的状态暂停播放的视频。当从后台返回视频时出现空白屏幕
我有状态,当用户在暂停模式下停止活动时,我有位置,仍然存在一个问题。当我从后台返回视频时,屏幕会变黑,直到我按下控制器中的开始位置,并且无需设置其位置。
我需要从后台返回时暂停显示预览图像。
@Override
public void onResume() {
if (mVideoPlayerController != null) {
mVideoPlayerController.resume();
if (mVideoPlayerController.isContentStarted())
if (isPlayedBeforePaused) {
mVideoPlayer.play();
} else {
}
}
super.onResume();
}
,并在我的视频播放器:
@Override
public void play() {
start();
}
@Override
public void start() {
super.start();
// Fire callbacks before switching playback state.
switch (mPlaybackState) {
case STOPPED:
for (PlayerCallback callback : mVideoPlayerCallbacks) {
callback.onPlay();
}
break;
case PAUSED:
for (PlayerCallback callback : mVideoPlayerCallbacks) {
callback.onResume();
}
break;
default:
// Already playing; do nothing.
}
mPlaybackState = PlaybackState.PLAYING;
}
这是我的作品可怜的解决方案,但我不想写那种代码
@Override
public void onResume() {
if (mVideoPlayerController != null) {
mVideoPlayerController.resume();
if (mVideoPlayerController.isContentStarted())
if (isPlayedBeforePaused) {
mVideoPlayer.play();
} else {
mVideoPlayer.play();
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
mVideoPlayer.pause();
}
}, 1000);
}
}
super.onResume();
}
与使用exoplayer有同样的问题:) – Amir
应用程序恢复后,您是否调用了'MediaPlayer#setDisplay()'? – fadden
我无法在简历上设置显示,它会抛出非法状态异常。并且媒体播放器已经在 –