我试图从URI播放声音使用MediaPlayer Class但是当我尝试这个我的应用程序崩溃然后我注意到mediaplayer.create()函数返回null我该怎么办才能解决这个问题?`
mediaplayer=MediaPlayer.create(this,Uri.parse("http://example.com/files/music.mp3"));
if (mediaplayer==null){
Toast.makeText(this,"media player is null",Toast.LENGTH_LONG).show();
}
else
mediaplayer.start();
现在,当我运行我的应用程序时,它显示Toast消息"媒体播放器为空"
答案 0 :(得分:0)
我在MediaPlayer上遇到过类似的问题
create()方法有时会返回null
我尝试过的一些文件类型是mp3,wav和m4a
我知道他们没有腐败,因为我可以用winamp / itunes播放它们
虽然文档确实说它支持这些文件类型,但事实证明它实际上不是
我注意到当音频文件(不管文件类型)是10Mb还是更多时,MediaPlayer将返回null。它让我得出结论,MediaPlayer无法播放超过某些比特率的文件。大尺寸=更好的质量。
所以我的解决方案是:将所有内容转换为128kbps比特率的.mp3
编辑: 看起来问题出在我的模拟器上,当我使用真正的Android设备时,一切都很完美。确保您在真正的Android设备上进行测试。或者在我的情况下,我创建了另一个具有更好规格的AVD配置文件,它可以正常工作