如何在处理流媒体或网络视频时拦截“无法播放视频”对话框?

时间:2011-12-16 19:09:54

标签: video streaming android-mediaplayer

如何在处理流式或网络视频时截取“无法播放视频”对话框?

我尝试了以下操作,并能够显示我的自定义错误消息。但最重要的是,我仍然得到Android MediaPlayer错误对话框“无法播放视频”。

我已经为MediaPlayer实现了setOnErrorListener并用逻辑覆盖了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 个答案:

答案 0 :(得分:3)

这是我的工作代码!

    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();