我有一个应用程序来传输实时音频流。
我的问题是:如何检查实时流式网址是否无法流式传输?
为什么网址无法流式传输有以下几个原因:
如果可能,我想检查Android MediaPlayer是否可以在不启动缓冲/准备过程的情况下流式传输网址。
我该怎么做?
谢谢!
答案 0 :(得分:0)
检查给定远程URL是否处于活动状态的最快方法是执行HTTP请求并检查响应头。
但是,这只会告诉您URL是否存在,但如果它是有效的可流传输资源则不会。
您的问题询问是否可以在不启动缓冲过程的情况下检查后者。据我所知,没有办法。
最好的办法是异步(通过prepareAsync())准备MediaPlayer对象并注册MediaPlayer.OnErrorListener。如果您不想在预缓冲完成后播放媒体,请不要注册setOnPreparedListener()。但是,请注意,如果流URL有效,则不会调用OnErrorListener。
对于简单检查,最好的办法是注册OnErrorListener和OnPreparedListener,并根据首先调用哪一个来调用自己的回调。