我意识到在 Android 中 HLS 的支持水平方面存在一些问题。我正在尝试编写一个小型视频播放器演示(在尽可能多的设备上工作);最好不使用第三方库;可以流式传输 HLS 视频。
注意:我目前正在 JellyBean 4.2.2 上进行测试,但可以访问其他版本
我已经设法使用 MediaPlayer 类,以便我的应用程序能够开始播放流(例如 Apple 的测试视频BipBopAll),但它似乎正在加载流的错误部分,因为视频似乎开始于 29 分钟(所以它在大约三十秒后完成)。
我使用的代码非常基本:
private void playTrack()
{
player = new MediaPlayer();
try
{
player.setDisplay(holder);
player.setDataSource("http://devimages.apple.com/iphone/samples/bipbop
/bipbopall.m3u8");
player.prepare();
}
catch (...)
{
}
player.start();
}
更新:我已经在 ICS 4.0.4 上测试了相同的代码,它工作正常。在 3.0.1 中进行测试,在 15 分钟加载流,然后从那里正确运行。
我该怎么做才能确保流从头开始,并在多个 Android 版本上正确播放?
或者,我应该使用更好的实现吗?