Android 如何停止MediaPlayer';他在准备什么?
我正在使用MediaPlayer播放在线曲目。但我遇到了问题:Android 如何停止MediaPlayer';他在准备什么?,android,android-mediaplayer,prepare,android-anr-dialog,Android,Android Mediaplayer,Prepare,Android Anr Dialog,我正在使用MediaPlayer播放在线曲目。但我遇到了问题: try { mMediaPlayer.reset(); mMediaPlayer.setDataSource(path); mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mMediaPlayer.setOnPreparedListener(preparedlistener); mMediaPlayer.prepareAs
try {
mMediaPlayer.reset();
mMediaPlayer.setDataSource(path);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setOnPreparedListener(preparedlistener);
mMediaPlayer.prepareAsync();
} catch (IOException ex) {
log.e(TAG, "IOException in setDataSourceAsync : path = " + path);
} catch (IllegalArgumentException ex) {
log.e(TAG, "IllegalArgumentException in setDataSourceAsync : path = " + path);
return;
}
在准备第一首曲目时(在onPrepared()之前的prepareAsync()之后),我尝试播放第二首曲目,当调用mmediplayer.reset()时,ANR得到,并更改为调用mmediplayer.release(),但仍然是ANR。
那么,在没有ANR的情况下,我如何停止MediaPlayer的准备?谁来帮忙。谢谢 如果从另一个线程(即非UI线程)调用
reset
和release
,该怎么办?当然,捕获可能抛出的任何异常。谢谢,但我可以理解你的意思。我在服务中使用MediaPlayer跟踪播放器,当ANR发生时(没有异常),我启动新线程播放(调用重置和其他),但仍然是ANR,没有异常。我做错了什么?对不起,我的英语很差!