1
我使用下面的代碼:Android的MediaPlayer的失敗,狀態0x64
try {
File f = new File(getVideoUrl(listVideoUrls.get(0)));
Log.d("MediaPlayer","Fexists?"+f.exists());
MediaPlayer pl = new MediaPlayer();
FileInputStream fi = new FileInputStream(f);
pl.setDataSource(fi.getFD());
pl.prepare();
pl.start();
Log.d("MediaPlayer","MediaPlayer startet.");
} catch (Exception e) { alert(e.getMessage()); }
但它與該消息未能
Android的媒體播放器準備故障狀態0x64
我不不明白爲什麼。該文件存在(file.exists()
爲true)並被放置在/Android/obb/de.blub.kaese/video.mp4
處。
嘗試使用'pl.prepareAsync()',然後做一個'OnPreparedListener()''用於和pl'聽者內做'pl.start()' – kabuto178
嘗試使用'setDataSource(String path)'http://developer.android.com/reference/android/media/MediaPlayer.html#setDataSource(java.lang.String) –
@ kabuto178: thx,但是onPrepared函數永遠不會被調用。代碼:pl.prepareAsync(); pl.setOnPreparedListener(新OnPreparedListener(){ \t \t \t \t \t公共無效onPrepared(MediaPlayer的PL){ \t \t \t \t \t \t \t pl.start(); \t \t \t \t \t} \t \t \t \t \t});我之前用videoview也嘗試過這種方式,但是在那裏它沒有回調onPrepared ...在肯:我需要打開一個不可世界讀取的文件,所以我必須流式傳輸它。打開直接路徑不起作用。 – aqm