Androids MediaPlayer onErrorListener MEDIA_ERROR_SERVER_DIED会产生问题

时间:2017-02-17 16:57:49

标签: android error-handling media-player android-videoview

我有以下代码来关闭当前的Activity。

if(what == MediaPlayer.MEDIA_ERROR_SERVER_DIED){
    DialogFragment videoNotAvailable = new VideoNotAvailableDialogFragment();
    videoNotAvailable.show(getFragmentManager(), "NoVideo");
}

但是这段代码的结果是黑屏,没有其他任何东西。该对话框未显示。有人可以帮忙吗?也许我不明白这句话的意思(MEDIA_ERROR_SERVER_DIED)......?

补充说: VideoNotAvailableDialog包括这个,并在另一部分工作:

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    builder.setMessage(getString(R.string.videoNotAvailablePart1))
            .setPositiveButton(R.string.videoNotAvailableAccept_button, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    // User accepts the message
                    ((LiveStreamActivity) getActivity()).finish();
                }
            });

1 个答案:

答案 0 :(得分:1)

我有同样的问题。几分钟后,从内部/外部存储器播放的视频将停止播放,我得到黑屏,但我添加了一个进度对话框,"错误查找视频!"每当我尝试播放视频时出现异常。每当发生错误时,都要添加这段代码:

 myVideoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {

            @Override
            public boolean onError(MediaPlayer mp, int what, int extra) {
                // TODO Auto-generated method stub
                Log.d("MainActivity","WHAT: "+ what + " EXTRA: "+extra);
                progressDialog.setMessage("Error: "+what);
                return false;
            }
        });

您必须reset()媒体播放器,并根据您获得的错误编号实例化一个新媒体播放器。请参阅website上的Android文档。