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) Samsung Galaxy S3、Android 4.1: 再生は正常に動作し、一時停止してもビデオは停止せず、canPause() は true を返します。

3) LG P-350、Android 2.2 - 再生は正常に機能しますが、一時停止は機能しません。.canPause() は false を返します。

したがって、P-350 で一時停止できない理由は理解できます。canPause が false であるためです。しかし、Galaxy S3 (または android 4.1 - そのような動作の理由がわかりません) で何が起こっているのでしょうか? これはただの混乱です...一部のデバイスだけでなく、すべてのデバイスでこれを機能させるにはどうすればよいですか?

PS .suspend()/.resume() を呼び出すと、同じ位置にいてもビデオがバッファリングされるため、これはオプションではありません。

4

0 に答える 0