9

ここに問題があります。ビデオストリームがビデオビューで再生を開始したときに再生ボタンを一時停止ボタンに変更したいのですが、そのイベントを検出する方法がわかりません。

4

7 に答える 7

20

ここに MediaPlayer に関する素晴らしい記事があります - http://www.malmstein.com/blog/2014/08/09/how-to-use-a-textureview-to-display-a-video-with-custom-メディアプレーヤーコントロール/

VideoView に infoListener を設定できます

setOnInfoListener(new MediaPlayer.OnInfoListener() {
    @Override
    public boolean onInfo(MediaPlayer mp, int what, int extra) {

        if (what == MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START) {
            // Here the video starts
            return true;
        }
        return false;
    }
于 2015-09-14T13:54:27.120 に答える
12

最終的に VideoView.setOnPreparedListener を使用しました。これは私の問題をカバーするのに十分でした(再生ボタンのドローアブルを一時停止に変更)

于 2011-04-06T07:45:11.590 に答える
1

私の知る限り、VideoView でビデオの再生が開始されたときに送信されるイベントはありませんが、次の 2 つのオプションが考えられます。

  1. そのような場合にイベントを送信する VideoView のバージョンを自分で作成します。
  2. MediaController を使用します (VideoView のデフォルト)

オプション 1 に従う場合は、ここから VideoViewのソースを取得できます。

于 2011-04-03T13:12:16.453 に答える
-1

これを試してください:

final Handler h = new Handler();
                h.postDelayed( new Runnable() {
                    public void run() {
                            if (videoView.getCurrentPosition() != 0) {
                                ((ProgressBar) rootView.findViewById(R.id.pgStreaming)).setVisibility(View.GONE);
                            } else {
                                h.postDelayed(this, 250);
                            }
                    }
                }, 250);
于 2015-04-26T05:39:53.120 に答える
-1

isPlaying() を呼び出して、MediaPlayer オブジェクトが Started にあるかどうかをテストできます。

Android MediaPlayer.isPlaying()

于 2011-04-03T12:47:18.057 に答える