Android捕获MediaPlayer错误
我想抓住以下关于mediaplayer的android例外Android捕获MediaPlayer错误,android,exception,try-catch,Android,Exception,Try Catch,我想抓住以下关于mediaplayer的android例外 11-28 11:44:17.801 21290-21290/com.xxx.xxx E/MediaPlayer﹕ internal/external state mismatch corrected 或 但我的活动必须实施 MediaPlayer.OnErrorListener MediaPlayer.OnInfoListener 并设置mediaplayer异常 try { mMediaPlayer.setDat
11-28 11:44:17.801 21290-21290/com.xxx.xxx E/MediaPlayer﹕ internal/external state mismatch corrected
或
但我的活动必须实施
MediaPlayer.OnErrorListener
MediaPlayer.OnInfoListener
并设置mediaplayer异常
try {
mMediaPlayer.setDataSource(path);
mMediaPlayer.create(this, R.raw.tutor);
mMediaPlayer.setDisplay(holder);
mMediaPlayer.prepareAsync();
} catch (Exception e) {
e.printStackTrace();
Log.e(TAG, "error:" + e.getMessage());
}
但他们没有抓住错误
有人知道如何捕捉这些错误代码或消息吗?用什么方法
非常感谢如果它没有抛出异常,那么您就无法捕获它。使用
onError
方法会发生什么;是否正确调用了它?如果显示这些错误,则在OneError方法中不会显示这些错误。但媒体已停止。媒体播放器开始播放,但播放一段时间后,它将显示这些错误,因此我希望捕获这些错误并向user.mp.setdatasore()、mp.preparasync()显示一些警报,然后在onprepare()中放入mp.start(),并请实现onpreparedlistener接口。我希望您已经这样做了。我的代码最初是将mediaplayer.start()放在onprepare()方法中的。我已经实现了MediaPlayer.OnPreparedListener。
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Log.i(TAG, "On Error what:" + what + "/"+extra);
return false;
}
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
Log.i(TAG, "On Error what:" + what +"/"+extra);
}
try {
mMediaPlayer.setDataSource(path);
mMediaPlayer.create(this, R.raw.tutor);
mMediaPlayer.setDisplay(holder);
mMediaPlayer.prepareAsync();
} catch (Exception e) {
e.printStackTrace();
Log.e(TAG, "error:" + e.getMessage());
}