2014-03-26 61 views
1

我有一個應用程序流直播音頻流。Android MediaPlayer實時音頻流:如何知道流媒體直播網址是否無法流式傳輸?

我的問題是:如何檢查直播流式傳輸網址是否無法傳輸?

有幾個原因,一個URL不能流:

  • 完全錯誤的URL指向什麼
  • URL不指向一個音頻流(但例如圖像)
  • URL相對於不能流,因爲音頻格式不與Android的MediaPlayer
  • 可能很多其他的原因兼容的音頻流...

如果可能,我想檢查是否可以通過Android MediaPlayer傳輸網址,而不啓動緩衝/準備過程。

我該怎麼做?

謝謝!

+0

請提供解決方案我也堅持在同樣的問題 – jyomin

回答

0

檢查給定遠程URL是否有效的最快方法是執行HTTP請求並檢查響應頭。

但是,這隻會告訴你,如果URL是活着的,但沒有,如果它是一個有效的streamable資源或沒有。

您的問題詢問是否可以在不啓動緩衝過程的情況下檢查後者。據我所知,沒有辦法。

最好的辦法是異步準備一個MediaPlayer對象(通過prepareAsync())並註冊一個MediaPlayer.OnErrorListener。如果您不想在完成預緩衝後播放媒體,請勿註冊setOnPreparedListener()。但是,請注意,如果流URL有效,則不會調用OnErrorListener。

你最好的辦法就是簡單的檢查是註冊OnErrorListener和OnPreparedListener,並根據兩者中哪一個先被調用來調用你自己的回調函數。