【发布时间】:2015-07-15 21:18:05
【问题描述】:
我正在尝试创建一个 Android 应用程序,该应用程序收集各种远程歌曲链接并为用户播放它们。该应用使用 Android 的 MediaPlayer,每个歌曲链接都会重定向到 MediaPlayer 处理并最终播放的 Stream URL。
但是,其中一些歌曲链接实际上重定向并提供 HTTP 404 错误,因为它们不可用,我想知道是否有任何方法可以直接处理/捕获这些 HTTP 错误即刻。到目前为止,MediaPlayer 所做的是发出一个信号:
error (1, -2147483648)
...在尝试连接数据源 10 次之后,我可以捕捉到该数据源以通知用户歌曲不可用。
当然,让用户等待 10 次重试会花费太多时间,因此我想知道是否有一种方法可以在 MediaPlayer 发生 HTTP 错误的第一时间捕捉到,而无需检查 URL在将其发送到 MediaPlayer 之前,或者必须使用连接到 MediaPlayer 的网络代理来破解和管理异常。
MediaPlayer 10 次给出异常:
07-16 05:16:30.549: E/MediaHTTPConnection(16698): IOException: java.io.IOException: Http Response: 404
【问题讨论】:
-
这 10 个异常列表是否仅在 logcat 中可见,但应用程序在 MediaPlayer.OnErrorListener 回调中仅收到一个异常?还是将它们全部传递给错误侦听器?
-
这10个异常列表只在Logcat中可见,应用程序本身只通过MediaPlayer.OnErrorListener通知第10个(最后一个)异常。
标签: java android android-mediaplayer