Как перехватить диалог «Не удается воспроизвести видео» при работе с потоковым или сетевым видео? - PullRequest
7 голосов
/ 16 декабря 2011

Как перехватить диалоговое окно «Не удается воспроизвести видео» при работе с потоковым или сетевым видео?

Я попробовал следующее и смог отобразить свое собственное сообщение об ошибке.Но помимо этого я все еще получаю диалоговое окно ошибки Android MediaPlayer «Не удается воспроизвести видео».

Я реализовал setOnErrorListener для MediaPlayer и переписал метод onError с логикой, чтобы показать мое сообщение об ошибке, и явозвращая true, чтобы сообщить Android, я обрабатываю эту ошибку.Мой код выглядит следующим образом

mediaPlayer.setOnErrorListener(new OnErrorListener() {
    @Override
    public boolean onError(MediaPlayer mp, int what, int extra) {
        if (!mediaActivity.isFinishing()) {
            mVideoView.stopPlayback();
            mediaPlayer.release();
            showErrorDialog(false);
        }
        return true;
    }
});

1 Ответ

3 голосов
/ 03 февраля 2012

Вот мой рабочий код!

    videoView = (VideoView) findViewById(R.id.videoViewPopup);
    MediaController mc = new MediaController(this);
    mc.setAnchorView(videoView);
    mc.setMediaPlayer(videoView);
    Uri video = Uri.parse(this.mediaURL); // Put your URL here
    videoView.setMediaController(mc);

    videoView.setOnErrorListener(new OnErrorListener() {

        @Override
        public boolean onError(MediaPlayer mp, int what, int extra) {
            Utils.showAlertDialog(Constants.NETWORK_ERROR_MESSAGE, Constants.NETWORK_ERROR_TITLE, VideoPopupActivity.this);
            return true;
        }
    });

    videoView.setVideoURI(video);
    videoView.start();      
...