当.canPause()返回true时,android videoView.pause()不起作用

时间:2013-01-07 16:51:09

标签: android android-videoview

我的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(),即使我们保持在同一位置,视频也会被缓冲,所以这不是一个选项。

0 个答案:

没有答案