[英]Android - MediaPlayer HTTP Error Handling
我正在尝试创建一个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次,每次发出错误,那么我不明白为什么一个简单的try-catch循环不起作用:
try {
// download URL
} catch (IOException e) {
// presumably an exception is thrown the first time it gets 404 so put the error handling code here
}
另外,我是否可以建议使用多线程从URL下载,使用类似ExectutorService
东西,它允许您向其提交Runnable
类并同时运行它们(即每个视频的下载任务,以便它们同时下载)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.