我的应用程序使用 HLS 播放视频,它在大多数设备上都能正常工作。当尝试在三星 Galaxy S3 或三星 Galaxy Note 2 上运行它时,我遇到了问题。
如果我有一个体面的 Wifi 连接播放将运行没有任何问题。当我将连接限制为相当低的比特率(大约 300-400)并等到大约 10 秒后,当播放器切换层时,播放将停止并显示以下消息:
I/avc_utils(1929): found AVC codec config (320 x 180, Baseline-profile level 3.0)
I/ESQueue(1929): DRC : Change Resolution. [720x404] -> [320x180]
E/ACodec(1929): [OMX.SEC.aac.dec] ERROR(0x8000100b)
E/NuPlayer(1929): Received error from audio decoder, aborting playback.
E/NuPlayer(1929): audio track encountered an error (-2147483648)
E/MediaPlayer(15859): error (1, -2147483648)
有谁知道为什么会发生这种情况,为什么只在某些三星设备上?例如,Galaxy Nexus 工作正常。
以下是 m3u8 播放列表外观的示例:
EXTM3U
EXT-X-STREAM-INF:程序 ID=1,带宽=755803
http://hiddenserver.com/layer_2.m3u8
EXT-X-STREAM-INF:程序 ID=1,带宽=1577112
http://hiddenserver.com/layer_4.m3u8