我一直有这个问题。 我有一个简单的应用程序,可以在视频视图中播放视频播放列表,并在它们之间暂停几秒钟。
private final Runnable playNormalVideo = new Runnable() {
public void run() {
try {
final String filepath = ...;
viewVideo.setOnErrorListener(new OnErrorListener() {
public boolean onError(MediaPlayer mp, int what, int extra) {
onEndVideo(false);
return true;
}
});
viewVideo.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
onEndVideo(false);
}
});
viewVideo.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
background.setVisibility(View.INVISIBLE);
viewVideo.start();
}
});
viewVideo.setVideoPath(filepath);
viewVideo.setVisibility(View.VISIBLE);
viewVideo.requestFocus();
} catch (Exception e) {
String error = Utils.getStackTrace(e);
Utils.log(true, error);
}
}
};
在我的onEndVideo()
函数中,我将background
显示为可见,然后检查下一个要播放的视频,并在{x = 1}}之后请求在x秒后播放它。
我的问题是以下:
从长远来看(大约1天),背景在视频开始前的很多秒内变得不可见。我不明白为什么。如果有人可以帮我摆脱这个问题。
我还以为我应该在视频播放之间释放记忆,但我似乎并没有找到如何做到这一点
注意:所有视频都保存在设备上
谢谢你的帮助。