1

我試圖通過意圖選擇視頻文件並從視頻中提取元數據。Android:MediaMetadataRetriever導致「java.lang.RuntimeException:setDataSource failed:status = 0x80000000」

不過,我從用戶和報告一些錯誤報告以下情況除外:

Exception java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=12004, result=-1, data=Intent { dat=content://media/external/images/media/63141 flg=0x1 (has extras) }} to activity {my.app/my.app.VideoActivity}: 
java.lang.RuntimeException: setDataSource failed: status = 0x80000000 

這是斂元數據代碼:

protected void onActivityResult(int requestCode, int resultCode, Intent intent) { 
    super.onActivityResult(requestCode, resultCode, intent); 
    Uri uri = intent.getData(); 
    MediaMetadataRetriever retriever = new MediaMetadataRetriever(); 
    try { 
     retriever.setDataSource(this, uri); // error occurs here 
    } catch (IllegalArgumentException e) { 
     e.printStackTrace();   
    } catch (SecurityException e) { 
     e.printStackTrace();   
    } 
} 

爲什麼例外出現,如何解決它?在最近的API版本的這個方法

+0

你有什麼進展嗎?調查同樣的問題,但沒有成功,它只發生在我的測試中的KK設備上 –

回答

0

的一個問題是,它需要表現的權限,這並不總是顯而易見的形式錯誤信息 - 看到這樣的討論:https://code.google.com/p/android/issues/detail?id=35794

如果是這樣的問題,那麼對於你的情況我認爲你的URI看起來像是一個本地文件,所以你想要文件讀/寫權限。如果這是一個互聯網網址,那麼你會想互聯網許可。

相關問題