我有以下代码关闭当前 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();
                }
            });

最佳答案

我遇到过同样的问题。几分钟后,从内部/外部存储器播放的视频将停止播放,并且出现黑屏,但添加了一个进度对话框,“错误查找视频!”每当我遇到异常尝试播放视频时。添加以下代码以在发生错误时被调用:

 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文档。

关于android - Androids MediaPlayer onErrorListener MEDIA_ERROR_SERVER_DIED出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42303443/

10-10 18:34
查看更多