2011-02-28 74 views
0

我有一個具有HTML和MP4文件的應用程序。我用HTML代碼中的<video>標籤播放這些mp4視頻文件。我只能在mp4文件位於SD卡中時才能成功完成,但當我將mp4文件添加到資產或休息文件夾時,視頻無法播放。 我讀的資產文件夾(* .MP4)所有視頻和這些文件複製到:用資產html5打開視頻

/數據/數據/ packaganame/

我的代碼從資產複製到「/數據/數據/ packaganame /「文件夾是:

InputStream isVideo = null; 
isVideo = getApplicationContext().getAssets().open("video.mp4"); 
File fl = new File("/data/data/packaganame/videoout.mp4"); 
bufEcrivain = new BufferedOutputStream((new FileOutputStream(fl))); 
VideoReader = new BufferedInputStream(isVideo); 
byte[] buff = new byte[32 * 1024]; 
int len; 
while((len = VideoReader.read(buff)) > 0){ 
    bufEcrivain.write(buff,0,len); 
} 
bufEcrivain.flush(); 
bufEcrivain.close(); 

我爲每個視頻執行此代碼,並且我沒有得到任何異常。但是當我嘗試播放視頻時,我得到:「無法播放視頻」。

我的HTML代碼是正確的,因爲它工作正常時,從SD卡讀取<video>標籤:

<video onclick="this.play();" 
     width="308" height="288" 
     autobuffer="autobuffer" controls="controls" 
     tabindex="0"> 
    <source src="videoout.mp4"> 
</video> 

我的視頻,我的HTML文件在同一目錄下。

有什麼想法嗎?從資源

回答

0

嘗試複製MP4這樣的:

android.content.res.Resources isVideo = somename.mContext.getResources(); 

有:

InputStream VideoReader = isVideo .openRawResource(R.raw.resources); 
+0

感謝。我試過讀res/raw,我用這個: – Jhon 2011-02-28 18:46:49

+0

謝謝。我試過讀取res/raw,我用這個: – Jhon 2011-02-28 18:46:49

+0

對不起。我試過從res/raw中讀取,我用這個: isVideo = getResources()。openRawResource(R.raw.video); 但我得到了同樣的結果:「不能播放視頻」 – Jhon 2011-02-28 18:48:23