我在寻找实时 hls 流时遇到问题。
当我在 videoview 上调用 getCurrentPosition 时,它返回 40 000,但是当我尝试 seekto(20000); 没有任何变化,没有错误没有行动。
所以如果有人有任何建议,请帮助我。
这是一个代码示例:
//video is playing live
seek = 20000;
if(_vPlayer.getCurrentPosition() > seek) {
_vPlayer.seekTo(seek);
}
我在寻找实时 hls 流时遇到问题。
当我在 videoview 上调用 getCurrentPosition 时,它返回 40 000,但是当我尝试 seekto(20000); 没有任何变化,没有错误没有行动。
所以如果有人有任何建议,请帮助我。
这是一个代码示例:
//video is playing live
seek = 20000;
if(_vPlayer.getCurrentPosition() > seek) {
_vPlayer.seekTo(seek);
}
我猜想 HLS 不支持 seek (另见http://developer.android.com/guide/appendix/media-formats.html),他们声明,对于 H-264 AVC,他们支持 MPEG-TS(AAC仅音频,不可搜索,Android 3.0+)
当我在 Galaxay SII 上尝试此流时,本机播放器也不支持搜索。
请参阅此处以获得更好/更完整的答案
一些建议: 1)尝试实现 OnSeekCompleteListener 以确定搜索是否实际成功完成: VideoView not playing Video from desired position
2)尝试暂停,seekTo,开始。同样,您可能需要实现 OnSeekCompleteListener;或者为了测试目的只是在 seekTo 和 start 之间睡一会儿。