其他分享
首页 > 其他分享> > Android 5.0(Lollipop)中的MediaPlayer抛出错误

Android 5.0(Lollipop)中的MediaPlayer抛出错误

作者:互联网

我编写了一个媒体应用程序,该应用程序使用HTTP连接流式传输MP3.这在Android版本2.x-4.x上一直很好用,但现在在5.x中产生错误.该应用程序循环播放包含MP3的播放列表对象,每个对象都有其自己的唯一HTTP地址.第一个文件流很好,但是在调用prepareAsync()时,下一个文件(与哪个文件无关)会产生以下错误:

07-04 18:57:19.785     65-10860/? E/NuCachedSource2﹕ source returned error -1, 10 retries left
07-04 18:57:22.874     65-10860/? E/NuCachedSource2﹕ source returned error -1, 9 retries left
07-04 18:57:25.907     65-10860/? E/NuCachedSource2﹕ source returned error -1, 8 retries left
07-04 18:57:28.929     65-10860/? E/NuCachedSource2﹕ source returned error -1, 7 retries left
07-04 18:57:31.972     65-10860/? E/NuCachedSource2﹕ source returned error -1, 6 retries left
07-04 18:57:35.024     65-10860/? E/NuCachedSource2﹕ source returned error -1, 5 retries left
07-04 18:57:38.062     65-10860/? E/NuCachedSource2﹕ source returned error -1, 4 retries left
07-04 18:57:41.085     65-10860/? E/NuCachedSource2﹕ source returned error -1, 3 retries left
07-04 18:57:44.110     65-10860/? E/NuCachedSource2﹕ source returned error -1, 2 retries left
07-04 18:57:47.262     65-10860/? E/NuCachedSource2﹕ source returned error -1, 1 retries left
07-04 18:57:50.294     65-10860/? E/NuCachedSource2﹕ source returned error -1, 0 retries left
07-04 18:57:50.419     65-10857/? E/GenericSource﹕ Failed to init from data source!
07-04 18:57:50.428    9592-9758/net.kicksass.shootingstarbbs.streamstar E/MediaPlayer﹕ error (1, -2147483648)
07-04 18:57:50.429    9592-9592/net.kicksass.shootingstarbbs.streamstar E/MediaPlayer﹕ Error (1,-2147483648)

通常,应用程序先调用MediaPlayer的setDataSource(url),再调用prepareAsync(),然后等待onPreparedListener触发,然后再调用start()开始流式传输.流完成后,它将调用reset(),然后再调用setDataSource(url),在此过程再次开始.

为什么棒棒糖的MediaPlayer抛出此错误?

解决方法:

看起来像setDataSource(string)方法,该方法用于使用Android的早期版本自动编码传入的URL,但不再在v5.x中使用.发生错误是因为Web服务器返回HTTP 404 Not Found.当我在将URL传递给setDataSource()之前对URL进行编码时,它可以工作.

更令人困惑的是,我的应用对URL的编码不一致,因此有时它可以工作,而有时却没有.

标签:android-mediaplayer,android
来源: https://codeday.me/bug/20191120/2040894.html