事實證明,錯誤-2147483648 normaly打表示未知錯誤。這可能與mp3編碼有關,但它也值得檢查文件路徑是否存在以及MediaPlayer是否有權讀取它。
我的問題是我用Context.MODE_PRIVATE(默認)編寫我的文件。
openFileOutput(filename, Context.MODE_PRIVATE);
這表示只有您的應用程序可以訪問該文件。我不知道具體如何或爲什麼,但在Jelly Bean及以上版本中,似乎允許視頻視圖訪問您指定的文件,就像它是您的應用程序一樣,但在Jelly Bean之前,視頻視圖嘗試打開文件在它自己的上下文中(而不是你的應用程序的)。由於該模式是私人的,因此失敗。
一種解決方法是用Context.MODE_WORLD_READABLE編寫文件,現在已棄用。這表示任何人都可以在該路徑上打開文件。這顯然是不安全的,也是令人沮喪的。
這解決了我的問題,並希望你也是!
試試這個:
MediaPlayer mpintro = MediaPlayer.create(this,Uri.parse(Environment.getExternalStorageDirectory().getPath()+ "/Music/intro.mp3"));// example for path
mpintro.setLooping(true);
mpintro.start();
能否請您發表日誌貓嗎? – KishuDroid
當媒體播放器捕獲錯誤顯示「MEDIA_ERROR_UNKNOWN(1,-2147483648)」,但mp3文件工作使用android音樂播放器 –