我正在尝试使用媒体播放器获取媒体文件的持续时间,但一切正常,但我在DDMS中收到警告,如下所示。
10-21 17:30:35.109: W/MediaPlayer(7564): mediaplayer went away with unhandled events
我的代码如下
//mediaPlayer object initiated to get the duration
MediaPlayer mediaPlayer;
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mediaPlayer.setDataSource(AudioListActivity.this, Uri.parse((db_results.get(position)).toString()));
mediaPlayer.prepare();
mediaPlayer.stop();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//getting duration
int durationTime = 0;
@SuppressWarnings("unused")
TextView duration = (TextView) row.findViewById(R.id.textViewDuration);
durationTime = mediaPlayer.getDuration();
mediaPlayer.release();
有人能帮助我吗?提前致谢。
答案 0 :(得分:3)
在mediaPlayer.reset();
mediaPlayer.release();
答案 1 :(得分:1)
最好忽略此警告。
1)注释代码行MediaPlayer.release();并注意logcat;
2)您可能需要在释放mp之前重置Mediaplayer对象。 mp.reset()之后测试它。因为有一段时间这会导致其他错误,如“非法状态异常”
3)如果你担心,请在try / catch中重置它并处理异常。