从后台返回视频时出现黑屏
原学程将引见从背景前往望频时涌现乌屏的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。
成绩描写
我正在应用Google IMA示例在我的运用法式中运转望频,经由几回变动以保证它不克不及知足我的需供后,我依然有1个成绩没法从新处理,我愿望在运用法式从背景前往时播搁望频,或许依据运动停滞前的状况暂停望频。
当用户在暂停形式下停滞运动时,我有状况,我有地位,但是借有1个成绩。当我从背景前往到望频时,屏幕是乌色的,直到我按下掌握器中的开端,而且没有须要寻觅它的地位。
我须要在从背景前往时以暂停形式显示预览图象。
@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();
}
}, 一000);
}
}
super.onResume();
}
推举谜底
我独一的处理计划是播搁以及暂停望频,但是只能在望频预备佳以后能力播搁以及暂停。
我的重要运动
@Override
public void onResume() {
if (mVideoPlayerController != null) {
mVideoPlayerController.resume();
if (mVideoPlayerController.isContentStarted())
if (isPlayedBeforePaused) {
mVideoPlayer.play();
} else {
// set pause request will notify on prepare to play and pause
// this fix the bug that on pause when return from background it shows black screen
mVideoPlayerController.mVideoTracker.setPauseRequest();
}
}
super.onResume();
}
以及我的望频追踪器(望频望图)
super.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mMediaPlayer = mp;
if (mPauseRequest) {
play();
pause();
mPauseRequest = false;
}
}
});
我晓得这没有是最佳的办法,但是这是我发明的最佳的办法,出有毛病,并且存留如许的器械(-:
愿望它能赞助或人
佳了闭于从背景前往望频时涌现乌屏的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。