2011-11-22 53 views
3

我使用VideoView作为网络视频,并且我还有一个位图对象包含相应的缩略图图像。现在应该如何将位图设置为VideoView来显示thumnail?问题在VideoView中显示缩略图图像

我使用

videoView.setBackgroundDrawable(new BitmapDrawable(getResources(), bitmap)); 

但是当我播放这段视频,视频没有显示,而是始终显示这种静态的缩略图。

任何提示将不胜感激。谢谢。

回答

4

VideoViewSurfaceView的子类,它在显示方面有一些特殊的行为。 SurfaceView内容实际上是在视图层次结构下面的一个窗口中绘制的,并且该视图只是在当前窗口中充当一个洞,因此内容是可见的。因此,如果您将任何内容应用于视图本身(如背景),它实际上将在视频内容的顶部进行Z顺序。另外,如果您将任何东西放置在VideoView下面,由于这个“洞”,它也将不可见。

如果您希望在视频未播放期间在此空间中显示内容,则需要将其放置在VideoView之上的单独视图中,您可以在视频播放状态更改时隐藏/显示该视图,或者您需要设置/清除视频播放状态更改时设置的背景图像。

HTH!

+0

你如何检测到VideoView开始播放? – Andy

0

使用此代码

BitmapDrawable bitmapDrawable = new BitmapDrawable(bitmapImage); 
      videoview.setBackgroundDrawable(bitmapDrawable); 
     videoview.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
       public void onPrepared(MediaPlayer mp) { 

        videoview.setBackgroundDrawable(null); 
       } 
      });