android 4.3之前的版本 播放hls获取不到总时长的原因

来源:互联网 发布:b站mac 编辑:程序博客网 时间:2024/06/05 02:45

http://stackoverflow.com/questions/16810673/android-hls-streaming-different-android-versions-load-different-location-in-st


Some versions of Android seem to interpret the HLS athttp://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8 as live HLS rather than VOD HLS, and thus media player starts close to the "live" point, close to the content end, around 29 minutes into the content.

And here's why: prior to 4.3, the last line in an HLS playlist file was not parsed unless it ended in '\n'.

See the history of changes on that file:http://androidxref.com/4.3_r2.1/history/frameworks/av/media/libstagefright/httplive/M3UParser.cpp , on 12/31/12, there is change that fixed the problem. The issue is gone on 4.4.

So, one way to solve the problem on older versions is to add newline after the last line of the playlist on the server, or implement an HTTP proxy in your app that effectively adds that newline, which may not be trivial...


0 0
原创粉丝点击