我正在使用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
我無法在簡歷上設置顯示,它會拋出非法狀態異常。並且媒體播放器已經在 –