所以我從外部存儲(SD卡)播放視頻,我遇到問題在播放視頻時,這是我的代碼:Intent.ACTION_VIEW視頻:外部存儲視頻「對不起,這個視頻無法播放」,但在普通的Android播放器中,它是可播放的
Uri uri = Uri.parse(url);
intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "video/*");
它會提示「抱歉,該視頻無法播放」,但在標準Android播放器,它是可玩的。我打印的網址是這樣的:
VideoPlayer url: file:///mnt/sdcard/foldername/video-2012-12-26-21-26--44.mp4
這是uri的問題嗎?如果不是的話,你能否指點我正確的方向。另外,如果我嘗試一個有點(。)的文件夾名稱,我會遇到問題嗎?
url = file:///mnt/sdcard/Android/data/com.example.project/video-2012-12-26-21-26--44.mp4
謝謝。
編輯:由於我的真正的問題並沒有解決,沒有人希望再回答,我打開了一個新的問題: Android: Video is playable from gallery but when I play it using Intent.ACTION_VIEW type video, cannot play
部分回答我的問題:
發生的原因問題的命名約定。我認爲玩家不接受其中包含「 - 」的文件名。所以我通過更改文件名格式來解決這個問題。
//聲明:我沒有一個完整的解釋和來源,但是這個信息只是從我的解決方法中推導出來的。
好了,所以我實現了上面的代碼,路徑是正確的,該文件存在(我已經檢查的話),但視頻仍是無法播放。我試過了「/com.example.project/video-2012-12-26-21-26-44.mp4」和「/foldername/video-2012-12-26-21-26-44.mp4」 (都有文件)。但它仍然不起作用。還有什麼建議?我再說一遍,該文件可通過在庫中瀏覽來播放,但不能使用代碼。 – Marl
@Marl:k給我一個視頻鏈接 –
我想我部分知道發生了什麼,我認爲這個問題是由於命名約定。當我將文件重命名爲更簡單的文件時,視頻就可以播放。但是,當我使用我的原始文件名格式,視頻不是。所以我通過改變我的文件名格式來解決這個問題。特別的例子:在文件名中使用「 - 」會使視頻無法播放。 – Marl