我使用VideoView作为网络视频,并且我还有一个位图对象包含相应的缩略图图像。现在应该如何将位图设置为VideoView来显示thumnail?问题在VideoView中显示缩略图图像
我使用
videoView.setBackgroundDrawable(new BitmapDrawable(getResources(), bitmap));
但是当我播放这段视频,视频没有显示,而是始终显示这种静态的缩略图。
任何提示将不胜感激。谢谢。
我使用VideoView作为网络视频,并且我还有一个位图对象包含相应的缩略图图像。现在应该如何将位图设置为VideoView来显示thumnail?问题在VideoView中显示缩略图图像
我使用
videoView.setBackgroundDrawable(new BitmapDrawable(getResources(), bitmap));
但是当我播放这段视频,视频没有显示,而是始终显示这种静态的缩略图。
任何提示将不胜感激。谢谢。
VideoView
是SurfaceView
的子类,它在显示方面有一些特殊的行为。 SurfaceView
内容实际上是在视图层次结构下面的一个窗口中绘制的,并且该视图只是在当前窗口中充当一个洞,因此内容是可见的。因此,如果您将任何内容应用于视图本身(如背景),它实际上将在视频内容的顶部进行Z顺序。另外,如果您将任何东西放置在VideoView
下面,由于这个“洞”,它也将不可见。
如果您希望在视频未播放期间在此空间中显示内容,则需要将其放置在VideoView
之上的单独视图中,您可以在视频播放状态更改时隐藏/显示该视图,或者您需要设置/清除视频播放状态更改时设置的背景图像。
HTH!
使用此代码
BitmapDrawable bitmapDrawable = new BitmapDrawable(bitmapImage);
videoview.setBackgroundDrawable(bitmapDrawable);
videoview.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
videoview.setBackgroundDrawable(null);
}
});
你如何检测到VideoView开始播放? – Andy