Android mediacontroller воспроизведение паузы управления не обновляется должным образом

я использовал MediaController в своей деятельности, но когда я играю видео в первый раз, тогда должна быть видна кнопка паузы b, но вместо этого есть воспроизведение, и когда я нажимаю эту кнопку, то видео приостанавливается правильно, и состояние остается тем же, и после этого его работа правильно. И то же самое происходит, когда они завершены. Это ошибка или я делаю что-то не так?

videoView.setOnPreparedListener(new OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mp) {
            mediaController = new MediaController(VideoPlayerActivity.this){
        public void hide(){
        }
        public void show(){
            if(isPlayingAd){
                super.hide();
            }else{
                super.show();
            }
        }
    };
    videoView.setMediaController(mediaController);
    mediaController.setMediaPlayer(videoView);
    mediaController.show();
    }
});

2 ответов


у меня была такая же проблема. Я не звал было достаточно для проводки вещи. Я попытался добавить это, а затем переместить вызов в show внутри onPrepared, и теперь он работает.

Я бы хотел лучше понять; думаю, что, возможно, все должно быть подключено правильно перед СМИ, и перед вызовом шоу. Во всяком случае, вот что у меня есть:

mMediaController = new MediaController(VideoPlayerActivity.this, false);

mVideoView.setOnPreparedListener( new MediaPlayer.OnPreparedListener() {            
    @Override
    public void onPrepared(MediaPlayer pMp) {
        mMediaController.show();
    }       
});

mVideoView.setMediaController(mMediaController);
mMediaController.setMediaPlayer(mVideoView);
mVideoView.setVideoPath(uri);  // may not be applicable in your case
mVideoView.requestFocus();
mVideoView.start();

Как Oneworld упоминалось в другом ответе, у меня была та же проблема со старыми устройствами Samsung. Хотя MediaController подключен к VideoView правильно, кнопка воспроизведения теряет синхронизацию до паузы и снова воспроизводится с MediaController.

эта вещь, кажется, происходит только на старых устройствах Samsung (KitKat и ниже, я думаю).

единственным решением, которое я нашел, было воспроизведение видео программно с помощью videoview.start () перед показом контроллера mc.шоу.)(