2013-07-29 45 views
0

我使用的Android,並有從水庫扮演電影videoview /生就好使用下面的代碼:Videoview沒有顯示從資產加載位圖嗎?

public static void startVideo(String moviename) { 
    playingVideo = true; 
    final String name = moviename + "x264"; 
    instance.runOnUiThread(new Runnable() { 
     public void run() { 
      instance.mVideoView.bringToFront(); 
      instance.mVideoView.setVisibility(View.VISIBLE); 
      String uri = "android.resource://" + instance.getPackageName() 
        + "/raw/" + name; 
      instance.mVideoView.setVideoURI(Uri.parse(uri)); 
      instance.mVideoView.requestFocus(); 
      instance.mVideoView.start(); 
     } 
    }); 

但是,如果我把我的活動的onCreate方法中下面的函數具有有效的資產圖像文件名作爲參數(即「backdrop.jpg」),影片觀看似乎不再顯示:

public Bitmap getBitmapFromAsset(String strName) { 
    AssetManager assetManager = this.getAssets(); 
    InputStream is; 
    Bitmap bitmap = null; 
    try { 
     is = assetManager.open(strName); 
     bitmap = BitmapFactory.decodeStream(is); 
     is.close(); 
    } catch (IOException e) { 
     return null; 
    } 
    return bitmap; 
} 

如果我甚至用生成位圖中的任何代碼或不不要緊,似乎以某種方式調用上述功能的行爲似乎會導致視頻播放器停止顯示。只需簡單地註釋掉只會調用該函數並將結果存儲在本地變量中的行,就會導致視頻視圖再次正常顯示。

另外,沒有別的東西似乎受到影響......我在我的程序中有一個GLSurfaceView,例如,它顯示得很好。

我對此非常疑惑......並且任何幫助都將不勝感激。

在此先感謝。

回答

0

嗯,我發現解決方案......結果發生了什麼事情,我的程序中的GLSurfaceView實際上覆蓋了videoview。我仍然不確定爲什麼,因爲我試圖明確地將視頻顯示到頂部,但是,儘管如此,在播放視頻時隱藏GLSurfacview似乎可以接受。