我正試圖爲我的用戶提供使用外部或內部存儲的能力。我正在顯示圖像和視頻(具有科學性)。將介質存儲在SD卡上時,一切正常。但是當我在內部存儲媒體時,只會顯示圖像。無論我嘗試如何嘗試加載並顯示存儲在applicationcontext.getFilesDir()下的媒體時,都會遇到各種錯誤。視頻播放器可以播放存儲在內部存儲器上的視頻嗎?
將視頻視圖的內容設置爲這樣的文件有竅門嗎?
ContentResolver能幫助我嗎?
在相關說明中,假設外部存儲存在是否被認爲是不正確的形式?
由於提前,
希德
下面是一個版本的失敗,「無法播放視頻。很抱歉,此視頻無法播放」。但我有許多其他的失敗模式。我可以將內部視頻複製到臨時存儲(外部)並播放它,因此將此副本複製到內部確實可以創建有效的電影。當我嘗試直接從內部存儲器播放它時,它只會失敗。
videoFile = new File(this.getFilesDir() + File.separator + "test.mp4");
InputStream data = res.openRawResource(R.raw.moviegood);
try {
OutputStream myOutputStream = new FileOutputStream(videoFile);
byte[] buffer = new byte[8192];
int length;
while ((length = data.read(buffer)) > 0) {
myOutputStream.write(buffer);
}
//Close the streams
myOutputStream.flush();
myOutputStream.close();
data.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
vview.setKeepScreenOn(true);
vview.setVideoPath(videoFile.getAbsolutePath());
vview.start();
請格式化問題/代碼,否則很難閱讀。 你會得到什麼樣的例外?如果你在你的catch子句中記錄棧跟蹤,這將會有所幫助。 無論如何,你是否找到了從內部存儲器播放視頻的方法?我正在尋找相同的,並得到一個錯誤,如「java.io.IOException:準備失敗。」 – 2010-08-04 09:14:15
我在http://code.google.com/p/android/issues/detail?id=10197 – 2010-08-04 19:54:29
提交了一個錯誤報告感謝您報告錯誤。我很久以前就放棄了內部存儲。客戶的預算不允許我花更多的時間來處理這個問題。 – shellman 2010-09-06 17:16:58