Я использую следующий код для воспроизведения звука, и через некоторое время он перестает воспроизводить звуки, это происходит из-за слишком большого количества случаев открытия медиаплеера, я считаю, поэтому я добавил дополнительный mp.release();
, и он просто вылетает из моего приложения ( в настоящее время он закомментирован).
Вот фактический код, который я использую.
public void audioPlayer(String path, String fileName){
//set up MediaPlayer
MediaPlayer mp = new MediaPlayer();
if (mp!=null){
// mp.release();
}
try {
mp.setDataSource(path+"/"+fileName);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
mp.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mp.start();
}
и для вызова в моем приложении я использую:
audioPlayer(sdcard + "/soundboard","s1sound1.ogg");
Может кто-нибудь сказать мне, почему это происходит сбой и что мне нужно сделать, чтобы это исправить?