1

我的 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 - 我不知道这种行为的原因是什么)是怎么回事?这只是一团糟......如何让它在所有设备上工作,而不仅仅是在其中一些设备上?

PS 如果我调用 .suspend()/.resume(),即使我们停留在同一位置,视频也会被缓冲,所以这不是一个选项。

4

0 回答 0