首页 文章

MediaPlayer准备通过HTTP流式传输从远程URL播放失败

提问于
浏览
1

我想播放一个远程托管的mp3文件 . 当我按照此链接http://developer.android.com/guide/topics/media/mediaplayer.html中显示的方式执行时,出现错误:

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

在网上搜索之后,我在这个链接http://blog.pocketjourney.com/2008/04/04/tutorial-custom-media-streaming-for-androids-mediaplayer/中找到了一个替代方案,它既不能很好地工作 . 它通过流式传输下载音频文件并创建临时.dat文件 . 每次下载文件的另一个增量时,必须停止MediaPlayer,以便将获取的新数据设置为MediaPlayer . 该过程播放音频,但它在某种程度上经历了一些小停顿 . 由于没有足够的数据被下载,所以暂停这些暂停是可以的,但是每次获取新数据时暂停播放器并不好 .

所以我的问题是:还有另一种播放远程音频文件的方法吗?为什么会出现“准备失败”错误?我注意到它发生在一些mp3的文件中,但与其他文件没有 . MediaPlayer类是否存在某种格式错误的mp3(以及修复它的方法)?

示例:http://1cd.palco.fm/a/c/4/5/bandainovation-so-hoje.mp3 . 你得到这个mp3的错误,但你可以与其他玩家(例如Banshee或Windows Media Player)一起玩 .

提前谢谢了

1 回答

  • 0

    我认为您可能需要为AndroidManifest.xml文件添加特定权限,授予您的应用使用互联网的权限 .

    <uses-permission android:name="android.permission.INTERNET" />
    

    此外,请确保您有数据连接(我在我的Samsung Galaxy Ace上测试过,当没有启用无线时会发生同样的异常) .

相关问题