2011-11-22 54 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); 
       } 
      });