我想在onErrorListener中启动一个意图。默认情况下,如果视频无法启动,MediaPlayer 将停止,显示弹出窗口"无法播放视频"并返回到主要活动。我想做的是,在理想情况下,在MediaPlayer.ErrorListener中,显示我自己的弹出窗口,放置一个正按钮,当点击正按钮时,我自己启动一个新的意图,把我带回主要活动。
原因是处理连接错误或没有会更容易。实际上,我尝试连接RTSP流,如果我能检测到用户无法访问ipcam的原因,则无需使用RTSP客户端来处理连接状态等。
无论如何,这似乎是不可能的,因为您无法在返回某些内容的方法中启动另一个意图。 并且方法 onError 需要布尔返回,所以我什至无法正确启动新意图(也不显示弹出窗口)
videoView.setOnErrorListener(new OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Intent intent = new Intent(PlayVideo.this, IPCamInformationsActivity.class);
intent.putExtra("error", "true");
startActivity(intent);
return true;
}
});
将代码更改为:
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
try{
return true;
}
finally{
Intent intent = new Intent(PlayVideo.this, IPCamInformationsActivity.class);
intent.putExtra("error", "true");
startActivity(intent);
}
}