我正在使用VideoView进行网络视频,而且我还有一个位图对象包含相应的缩略图。现在我应该如何将位图设置为VideoView以显示thumnail?
我正在使用
videoView.setBackgroundDrawable(new BitmapDrawable(getResources(), bitmap));
但是当我播放此视频时,视频没有显示,而是始终显示此静态缩略图。
任何提示都将不胜感激。感谢。
答案 0 :(得分:4)
VideoView
是SurfaceView
的子类,在显示方面有一些特殊的行为。 SurfaceView
内容实际上是在视图层次结构下面的窗口中绘制的,视图只是在当前窗口中充当一个洞,因此内容是可见的。因此,如果您对视图本身应用任何内容(如背景),它实际上将在视频内容之上进行Z-Ordered。此外,如果您在VideoView
下方放置任何内容,由于此“漏洞”,它也将无法显示。
如果您想在视频未播放时在此空间中显示内容,则需要位于VideoView
顶部的单独视图中,您可以在视频播放时隐藏/显示状态更改,或者您需要设置/清除视频播放状态更改时设置的背景图像。
HTH!
答案 1 :(得分:0)
使用此代码
BitmapDrawable bitmapDrawable = new BitmapDrawable(bitmapImage);
videoview.setBackgroundDrawable(bitmapDrawable);
videoview.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
videoview.setBackgroundDrawable(null);
}
});