Android java.io.IOException: Prepare failed.: status=0x1

最近使用MediaPlayer播放網(wǎng)絡(luò)資源音頻時(shí),遇到一個(gè)問(wèn)題,
就是在使用紅米手機(jī)播放時(shí),會(huì)提示播放錯(cuò)誤,mediaPlayer.prepare();報(bào)了IO異常java.io.IOException: Prepare failed.: status=0x1,但是使用nexus 6p并沒(méi)有出現(xiàn),這也就表示只有部分的手機(jī)會(huì)出現(xiàn)這種問(wèn)題。
報(bào)錯(cuò)源碼為:

mediaPlayer.reset();
mediaPlayer.setDataSource(videoUrl);
mediaPlayer.prepare();// prepare之后自動(dòng)播放

當(dāng)我google之后得出的答案都是

File tempFile = new File(path);           
FileInputStream fis = new FileInputStream(tempFile);             
mediaPlayer.reset();             
mediaPlayer.setDataSource(fis.getFD());             
mediaPlayer.prepare();             
mediaPlayer.start();

其實(shí)這個(gè)方案只適合播放本地音頻,并不能解決網(wǎng)絡(luò)音頻的問(wèn)題。
后來(lái)我嘗試了多種方案,發(fā)現(xiàn)了能播放的方法

mediaPlayer = MediaPlayer.create(context, Uri.parse(videoUrl));
mediaPlayer.start();

然后我想,是不是播放的方法不對(duì),嘗試了一下將prepare()替換成star(),然而并沒(méi)有用,還是會(huì)報(bào)錯(cuò)。
再次對(duì)比,是不是設(shè)置videoUrl的方法有問(wèn)題,不應(yīng)該直接傳Strring類(lèi)型的,而應(yīng)該轉(zhuǎn)成Uri,一試之后,果然可行,所以最終解決MediaPlayer播放網(wǎng)絡(luò)資源音頻報(bào)java.io.IOException: Prepare failed.: status=0x1的方法為:

mediaPlayer.reset();
mediaPlayer.setDataSource(context, Uri.parse(videoUrl));
mediaPlayer.prepare();// prepare之后自動(dòng)播放

希望對(duì)大家都有幫助,謝謝

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 安卓平臺(tái)和聲音錄制與播放相關(guān)的主要是4個(gè)類(lèi):MediaRecorder,MediaPlayer,SoundPool...
    閑庭閱讀 10,639評(píng)論 1 47
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,558評(píng)論 25 708
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,992評(píng)論 19 139
  • Media Playback Android多媒體框架包涵了對(duì)播放多種通用媒體的類(lèi)型的支持,所以你可以很容易的集成...
    VegetableAD閱讀 913評(píng)論 0 0
  • 分手之前,分手之后一直都在想你,可是我并沒(méi)有去糾纏你,畢竟那已經(jīng)沒(méi)有了意義,你說(shuō)已經(jīng)對(duì)我沒(méi)有感覺(jué)了,只是我還在一廂...
    深夜卡片閱讀 793評(píng)論 0 0