1. 程式人生 > >Android中mp3長度小於1秒造成播放失敗

Android中mp3長度小於1秒造成播放失敗

①使用訊飛軟核方案,專案只能在訊飛提供的硬體上啟動

②在喚醒的回撥中,呼叫MediaPlayer播放mp3檔案

③mp3檔案長度小於1秒

在這種情況下,程式碼能正常執行,但是沒有聲音。https://stackoverflow.com/questions/11985815/android-media-player-error-100-0這個網址上有說明,mp3檔案小於1秒,播放不成功。後來用軟體將mp3檔案拉長超過1秒,播放成功。這種情況不清楚原因,Mark一下,待後續研究。

播放部分程式碼如下:

public void awakeMP3Start(Context context) {
    try {
        String voiceName = SharedPrefsUtil.getValue
(context,PronuncationSetActivity.VOICE_NAME,"xiaoyan"); String awakePath = null; switch (voiceName){ case "xiaoyan": awakePath = "xiaoyan.mp3"; break; case "xiaofeng": awakePath = "xiaofeng.mp3"; break; case
"nannan": awakePath = "nannan.mp3"; break; } mediaPlayer.reset(); Uri myUri = Uri.parse("android.resource://" + context.getPackageName() + "/" + R.raw.nannan); System.out.println(myUri); mediaPlayer.setDataSource(context, myUri); mediaPlayer.prepare(); } catch (Exception e) { if
(e != null) { e.printStackTrace(); } }