2014-02-07 32 views
3

我所試圖實現的是通過Android設備做現場直播。 經過測試,之前的版本4.3,設備正在使用HLS .m3u8正確播放實況流。 一個例子源代碼如下:HLS打在Android 4.3以後的問題

<video controls="controls" style="height:400px; width:320px;"> 
    <source src="/hls-live/my-stream_/my-stream_,1360,500,.m3u8"></source> 
</video> 

<a href="/hls-live/my-stream_/my-stream_,1360,560,.m3u8">Direct Link<a/> 

正如你可以在上面看到,我嘗試使用HTML5視頻標籤來呈現流。 它不會在瀏覽器中播放,但是,如果您點擊具有完全相同路徑的直接鏈接,播放器將彈出並且該流將正確播放。

所以我有點困惑在這裏作爲爲什麼現場無法正常下的HTML5播放器的球員,但能夠在彈出的播放器來播放(我假設以後就是Android下一個原生播放器?)

環境:

  • Android操作系統4.3
  • ASUS的Nexus 7
  • Chrome瀏覽器

編輯:一些更多的信息添加在這裏, 我也嘗試過其他類型的視頻,例如http://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov/playlist.m3u8http://www.wowza.com/forums/showthread.php?32675-HLS-playback-issue-on-Android-4-3此頁面。因此,將此m3u8替換爲<source>標記中的那個,Chrome瀏覽器將會正常播放。 如果看着工作m3u8,你可以看到編解碼器是avc1.66.30, mp4a.40.2,我懷疑文件的實際編解碼器是問題的原因。

我也試着撥打media.canPlayType('application/vnd.apple.mpegURL')並返回一個空字符串。

+0

更多信息。這是你的設備? – Raptor

+0

我目前正在使用4.3操作系統的ASUS Nexus 7進行測試。 –

+0

和你在一個應用程序的工作(使用'WebView'),或在手機瀏覽器(如果是,你使用的瀏覽器?缺省的/人?) – Raptor

回答

0

我認爲,它通過直接作用在瀏覽器的原因,但未能通過視頻標記是在cross origin proxy(Safari瀏覽器根本就沒有這個限制HSL)。

請務必添加Access-Control-Allow-Origin: *.m3u8.ts文件,它應該工作需要