在我的 Activity 中,我有 2 个 VideoView。我必须一个接一个地连续播放不同的视频文件。
为了减少切换时间,我计划翻转视频 View 。即一个视频 View 将是VISIBLE
,而另一个是GONE
。在播放可见视频 View 时,我可以初始化 (setVideoPath
) 另一个视频 View 。
但是根据日志,我发现对于可见性GONE
的videoview,在调用setVideoPath
之后,OnPreparedListener
仅当 View 变为 VISIBLE
时调用。 IE。第一个视频 View 完成后,我切换可见性,然后我获得第二个视频 View 的 OnPreparedListener
。
为了证实我的发现,我将两个视频 View 设置为VISIBLE
并调用了setVideoPath
。在这种情况下,将立即调用 OnPreparedListener
。
问题:
VideoView 准备 (setVideoPath
) 是否依赖于它的 Visibility?
有没有办法在后台准备视频 View (不向用户显示)?
谢谢!
最佳答案
Is the VideoView preparation (setVideoPath) dependent on its Visibility?
显然是的。 openVideo()要求有一定的可见性
public void setVideoURI(Uri uri) {
mUri = uri;
mStartWhenPrepared = false;
mSeekWhenPrepared = 0;
openVideo();
requestLayout();
invalidate();
}
Is there any way to prepare the videoview in the background (without showing it to user)?
扩展此 VideoView
并自行处理准备工作。或者只使用您自己的 VideoView
关于android - 切换视频 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7872215/