我试图让媒体播放器在本地存储的视频中播放特定范围。它似乎从我告诉它的指定时间开始。
示例:当我寻求1000时,它有效。但是当我寻求1500时,它会转向2000年。
我也试过暂停寻求然后开始寻求完成,它没有任何区别。
这是代码:
mediaPlayer.start();
mediaPlayer.seekTo(time);
这是正常的吗?或者我是否以错误的方式使用媒体播放器?
答案 0 :(得分:2)
这是编码问题。视频具有关键帧(i-frames),可存储比其他帧更多的信息。只有先前的关键帧才能构建非关键帧。尝试显示非关键帧将显示绿点和像素化抖动屏幕。
现在,在某些Android设备上没有为此实现的解决方法,所以你得到这种奇怪的行为。例如,在Nexus S上,seekTo()
并不一定会转到指定的帧。我尝试了其他具有相同Android版本的设备,他们寻求的很好。