我的Android应用程序可以显示流式视频。我遇到了非常奇怪的videoView行为。可以通过按钮启动/暂停VideoView的播放,代码为:
playPause.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
boolean isPlaying = isChecked;
if (isPlaying)
{
videoView.pause();
}
else
{
videoView.start();
}
}
});
我调用videoView.pause()停止播放,并调用videoView.start()开始/继续播放。我在3台设备上测试了这段代码:
1)Nexus 7,Android 4.2:播放工作正常,暂停工作正常,videoView.canPause()返回true。
2)三星Galaxy S3,Android 4.1:播放工作正常,暂停不停止视频,canPause()返回true。
3)LG P-350,Android 2.2 - 播放正常,暂停不起作用,.canPause()返回false。
所以,我可以理解为什么它不能在P-350上暂停 - 因为canPause是假的。但是Galaxy S3(或者android 4.1 - 我不知道这种行为的原因是什么)会发生什么? 这只是一团糟......如何让它在所有设备上工作,而不仅仅是在其中一些设备上?
P.S。如果我调用.suspend()/。resume(),即使我们保持在同一位置,视频也会被缓冲,所以这不是一个选项。