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

Android 5.0(Lollipop)中的MediaPlayer抛出错误,第1张

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

我编写了一个媒体应用程序,该应用程序使用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 left07-04 18:57:22.874     65-10860/? E/NuCachedSource2﹕ source returned error -1, 9 retrIEs left07-04 18:57:25.907     65-10860/? E/NuCachedSource2﹕ source returned error -1, 8 retrIEs left07-04 18:57:28.929     65-10860/? E/NuCachedSource2﹕ source returned error -1, 7 retrIEs left07-04 18:57:31.972     65-10860/? E/NuCachedSource2﹕ source returned error -1, 6 retrIEs left07-04 18:57:35.024     65-10860/? E/NuCachedSource2﹕ source returned error -1, 5 retrIEs left07-04 18:57:38.062     65-10860/? E/NuCachedSource2﹕ source returned error -1, 4 retrIEs left07-04 18:57:41.085     65-10860/? E/NuCachedSource2﹕ source returned error -1, 3 retrIEs left07-04 18:57:44.110     65-10860/? E/NuCachedSource2﹕ source returned error -1, 2 retrIEs left07-04 18:57:47.262     65-10860/? E/NuCachedSource2﹕ source returned error -1, 1 retrIEs left07-04 18:57:50.294     65-10860/? E/NuCachedSource2﹕ source returned error -1, 0 retrIEs left07-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 5.0(Lollipop)中的MediaPlayer抛出错误全部内容,希望文章能够帮你解决Android 5.0(Lollipop)中的MediaPlayer抛出错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1079826.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存