Устройство не отображает MediaController

#android #android-videoview #mediacontroller

#Android #android-видеообзор #mediacontroller

Вопрос:

Я использую приведенный ниже код для тестирования на эмуляторе и устройстве, результатом стало то, что эмулятор может отображать MediaController чуть ниже видеообзора (по умолчанию находится в нижней части экрана). Однако, когда я тестировал в device, он не показывает мне MediaController. Я хотел бы знать, почему.

 final VideoView videoView = (VideoView)findViewById(R.id.videoGuide1);

    videoView.setOnPreparedListener(new OnPreparedListener(){
        @Override
        public void onPrepared(MediaPlayer mp){
            mp.setOnVideoSizeChangedListener(new OnVideoSizeChangedListener(){
                @Override
                public void onVideoSizeChanged(MediaPlayer mp, int width, int height){
                    MediaController mediaController = new MediaController(WatchVideo.this);;
                    videoView.setMediaController(mediaController);
                    mediaController.setAnchorView(videoView);
                }
            });
        }
    });
 

Комментарии:

1. проверьте мой ответ и попробуйте это

Ответ №1:

Попробуйте это, это сработало для меня….

   VideoView vv;

        vv = (VideoView) findViewById(R.id.videoView);
        vv.setVideoPath(filename);
        vv.setMediaController(new MediaController(this));
        vv.requestFocus();
        vv.start();
  }
 

}

Ответ №2:

Попробуйте этот способ

 MediaController controller;
Videoview videoview;

videoview=(VideoView)findViewById(R.id.videoview);
controller = new MediaController(this);

videoview.setVideoURI(Uri.parse(path));
videoview.setMediaController(controller);
controller.setMediaPlayer(videoview);


videoview.setOnPreparedListener(new OnPreparedListener() {

           public void onPrepared(MediaPlayer mp) {
               int duration = videoview.getDuration();
               videoview.requestFocus();
               videoview.start();
               controller.show();

               Log.d("Video view is prepared","------>");

           }
       });