Hae*_*nal 18 android video-streaming http-live-streaming
我意识到在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();
}
Run Code Online (Sandbox Code Playgroud)
更新:我在ICS 4.0.4上测试了相同的代码,它运行正常.在3.0.1中进行测试,在15分钟时加载流,然后从那里正确运行.
我该怎么做才能确保流在开始时启动,并在多个Android版本上正确播放?
或者,我应该使用更好的实现吗?
Hae*_*nal 14
经过一些进一步的调查,我发现以下信息可以帮助其他人在Android上运行HLS流媒体.
编码 - 视频编码和分段设置会对视频支持的Android版本产生巨大影响.我最终使用HandBrake创建了一个视频,其中包含以下设置:
分段 - 使用Apple MediaFileSegmenter,我发现添加"-no-floating-point-duration"和"-z none"标志允许我创建一个适用于Android 3.0-> 4.2的视频
姜饼 - 我无法让Android 2.3与开箱即用的HLS一起使用,但我确实发现使用Vitamio库工作得很好(有关详细信息,请参阅此问题)
小智 1
您是否尝试在 URL 中为播放器提供启动参数?
像这样:
“ http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8?start=0 ”
| 归档时间: |
|
| 查看次数: |
22847 次 |
| 最近记录: |