我编写了一个使用 HTTP 连接传输 MP3 的媒体应用程序。这在 Android 版本 2.x - 4.x 上运行良好,但现在在 5.x 中生成错误。该应用程序循环播放包含 MP3 的播放列表对象,每个 MP3 都有自己唯一的 HTTP 地址。第一个文件流正常,但下一个文件(无关紧要)which文件)会产生以下错误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)
该过程再次开始的地方。
为什么 Lollipop 的 MediaPlayer 会抛出此错误?