我需要一些幫助開始使用Android上的HLS和RTSP。Android 3.0+(HLS和RTSP/RTP)上的實況視頻流播放
要測試RTSP,我正在運行LIVE555媒體服務器。該服務器具有從live555.com下載的bipbop-gear1-all.ts示例文件和索引文件。所以我的網址只是http://(myIP):80/bipbop-gear1-all.ts 在Android 3.0模擬器上,瀏覽器顯示幾分鐘的下載進度,然後什麼都沒有。瀏覽器窗口沒有更新,沒有Android下載通知。它只是停止。
在Android 3.2.1設備上,它啓動視頻播放器,但立即顯示,Cannot play video
,Sorry, this video cannot be played.
在簡單的測試應用程序(從Android問題跟蹤器下載問題17118:Android 3.1無法播放HTTP實時流播放) MediaPlayer.prepare()短暫地命中服務器,並立即拋出IOException,並顯示消息Prepare failed.: status=0x1
。 Logcat還顯示,error (1, -2147483648)
。
相同的測試應用程序播放本地mp4沒有問題,所以我認爲這很好。在iPad上,同一個URL播放視頻,至少證明我的服務器是好的。
要測試HTTP實時流(HLS),我使用的是bipbop樣品在送達apple.com: http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8 httplive://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8
在Android 3仿真器中,示例應用程序開始使用「httplive」協議播放地址,但它掛起。使用「http」協議,在MediaPlayer.start()之後,它暫停一會,但不顯示任何內容。然後logcat顯示:
W/AudioSystem(715): AudioFlinger server died!
W/IMediaDeathNotifier(715): media server died
E/MediaPlayer(715): error (100, 0)
E/MediaPlayer(715): Error (100,0)
和我的onCompletion()處理程序被調用。
在真實的3.2.1設備上,使用http協議的應用程序的行爲與在3.0仿真器上的行爲相同。 httplive在準備消息Prepare failed.: status=0x1
時拋出IOException。
在3.0模擬器的瀏覽器中,http地址會顯示一個音頻播放器,該播放器會停止並顯示烤麪包信息Sorry, the player does not support this type of audio file
。 httplive地址只是進入Google搜索。
在真實3.2.1設備的瀏覽器中,http地址會彈出一個對話框Complete action using
,其選項爲:Music
和Video player
。按Video player
,我得到,Cannot play video
,Sorry, this video cannot be played
。按Music
,我得到,Couldn't play the track you requested.
。再次,這個地址在iPad上運行良好。
任何幫助將非常感激。