应用状态:在其中一个场景中,我创建了一个视频片段(在视频视图上有一个按钮),它是从现有的全屏片段启动的。
行为问题:在获取lauch后,VideoFragment会闪烁片刻,然后视频视图显示并启动视频,同时闪烁显示壁纸屏幕(即绘制视频视图,它完全删除屏幕上的所有视图最后显示片段屏幕)。
还做了什么:检查相同的方案以启动VideoViewActivity而不是VideoViewFragment但得到相同的结果。
它可以是:它是否与VideoView有关,因为它在全屏幕片段上绘制VideoView。
这里有任何建议,我该如何解决这个问题?
答案 0 :(得分:1)
......小技巧在这里帮助我。由于我使用静态视频进行显示,因此我将第一帧视频(通过视频提取图像)设置为视频视图的默认BG和onPrepare(..)
public void onPrepared(MediaPlayer mp) {
mVideoView.start();
mVideoView.postDelayed(new Runnable() {
@Override
public void run() {
MainActivity.getInstance().runOnUiThread(new Runnable() {
@Override
public void run() {
mVideoView.setBackgroundColor(color.transparent);
btnSkip.setVisibility(View.VISIBLE);
btnSkip.requestFocus();
}
});
}
}, 300);
}
启动视频后延迟一秒钟。和onComplete(..)相同。
@Override
public void onCompletion(MediaPlayer mp) {
btnSkip.setVisibility(View.GONE);
mVideoView.setBackgroundColor(getResources().getColor(R.color.bg));
}
对于多视频播放场景,这是不可行的解决方案。
答案 1 :(得分:0)
请写下更多代码,开始视频,xml VideoView ,闪烁的颜色是什么?它可能是背景颜色,请尝试使用透明。
另请尝试使用hardware acceleration VideoView
最后,我认为这对你有所帮助: