我試圖使用Android MediaMetadataRetriever獲得的mp4格式視頻recoreded長 - 但我發現了異常:的Android MediaMetadataRetriever的setDataSource失敗
07-13 13:54:32.686: E/AndroidRuntime(19790): FATAL EXCEPTION: main
07-13 13:54:32.686: E/AndroidRuntime(19790): java.lang.RuntimeException: setDataSource failed: status = 0x80000000
我的代碼是:
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(video.getMediaUrl());
String time = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
long timeInmillisec = Long.parseLong(time);
而且video.getMediaUrl()路徑類同這樣的:
file:///storage/emulated/0/Foldername/Videos/VID_20130713_135318.mp4
我不知道我做錯了什麼 - 請任何人幫助我!此外,此代碼適用於音頻文件,但不適用於視頻。
MediaMetadataRetriever可能因某種原因無法讀取該特定的視頻文件。你有沒有試過https://github.com/wseemann/FFmpegMediaMetadataRetriever? –
它無法讀取我給我的每一個文件記錄從我的相機....所以沒有 - 沒有測試圖書館,但也許會稍後測試 - 在此先感謝 –
我說的是,這個問題可能與相機正在使用的編解碼器相關或者如何寫出元數據。另外,你可以發佈一個示例文件嗎? –