Как добавить крана для воспроизведения / паузы в VideoView? - PullRequest
0 голосов
/ 07 октября 2018

Я пытаюсь добавить функцию воспроизведения / паузы видео в создаваемый чат, поэтому у меня есть стандарт:

VideoView vidRight;
vidRight = v.findViewById(R.id.videoViewRight);

Однако я пытаюсь добавить сигнал для воспроизведения / паузы сслушатель не возможен, так как мне нужно объявить paused final:

boolean paused = false;
vidRight.setOnTouchListener(new View.OnTouchListener() {

    @Override
    public boolean onTouch(View view, MotionEvent event) {
        if (paused) {
            vidRight.start();
            paused = false;
        }
        else {
            vidRight.stopPlayback();
            paused = true;
        }

        return true;
    }
});

Есть ли другой способ сделать это?

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Вам не нужно поддерживать пользовательский флаг paused для проверки состояния.Вместо этого вы можете использовать isPlaying, чтобы проверить, воспроизводится ли видео в данный момент или нет.

vidRight.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View view, MotionEvent event) {
        if (vidRight.isPlaying()) {
            vidRight.stopPlayback();
         }
         else {
            vidRight.start();
         }

         return true;
    }
});
0 голосов
/ 07 октября 2018

Объявите переменную "paused" как переменную-член следующим образом:

public class YourClassName extends AppCompatActivity implements YourInterfaces {
    private boolean paused=false;
    /* your other variables */
      @Override
    public void onCreate(Bundle savedInstanceState) {

        vidRight.setOnTouchListener(new View.OnTouchListener() {

                @Override
                public boolean onTouch(View view, MotionEvent event) {
                    if (paused) {
                        vidRight.start();
                        paused = false;
                    }
                    else {
                        vidRight.stopPlayback();
                        paused = true;
                    }

                    return true;
                }
            });
...