这是我的 videoview 代码
try {
// Start the MediaController
MediaController mediacontroller = new MediaController(
SingleItemView.this);
mediacontroller.setAnchorView(videoview);
// Get the URL from String VideoURL
videoview.setMediaController(mediacontroller);
videoview.setVideoURI(Uri.parse(video));
videoview.requestFocus();
videoview.setKeepScreenOn(true);
videoview
.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
// Close the progress bar and play the video
public void onPrepared(MediaPlayer mediaPlayer) {
mProgressDialog.dismiss();
videoview.start();
}
});
} catch (Exception e) {
mProgressDialog.dismiss();
Log.e("Error", e.getMessage());
e.printStackTrace();
}
但是如果视频流不起作用,对话框仍然存在。
如果视频不起作用,我想将对话框返回到主要 Activity ..
我怎样才能做到这一点?
我尝试放置对话框,但仍然无法工作,我不知道为什么..
预先感谢:)
编辑:我也尝试这样做,但仍然不起作用
try {
// Start the MediaController
MediaController mediacontroller = new MediaController(
SingleTrackActivity.this);
mediacontroller.setAnchorView(videoview);
// Get the URL from String VideoURL
videoview.setMediaController(mediacontroller);
videoview.setVideoURI(Uri.parse(duration));
videoview.requestFocus();
videoview.setKeepScreenOn(true);
videoview
.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
// Close the progress bar and play the video
public void onPrepared(
MediaPlayer mediaPlayer) {
pDialog.dismiss();
videoview.start();
}
});
} catch (Exception e) {
AlertDialog alertDialog = new AlertDialog.Builder(
SingleTrackActivity.this).create();
// Setting Dialog Title
alertDialog.setTitle("Alert Dialog");
// Setting Dialog Message
alertDialog.setMessage("Video Play Error :"
+ e.toString());
pDialog.dismiss();
System.out.println("Video Play Error :" + e.toString());
finish();
}
最佳答案
媒体播放器的工作是与您的代码异步完成的。如果媒体设置失败,则在代码完成您的方法后将发生失败。同时,由于媒体未进入 PREPARED
状态,因此未调用 onPreparedListener
。
所以尝试添加一个 OnErrorListener
:
videoview.setOnErrorListener(new MediaPlayer.OnErrorListener(){
public boolean onError(MediaPlayer mp, int what, int extra) {
// inform the user something went wrong
mProgressDialog.dismiss();
return true;
}
});
如果这不起作用,请检查您的媒体播放器/视频 View 收到的回调。
关于android - 当视频未开始时启动一个对话框以返回主要 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19131734/