当用户点击按钮时,我创建了一个简单的音板来播放声音。问题是,如果足够按下按钮(通常大约10次),它最终将停止播放并显示错误E/MediaPlayer: error (1, -19)
我究竟做错了什么?我播放声音的代码:
private void playSound(int soundID){
final MediaPlayer mp = MediaPlayer.create(this,soundID);
mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mp.start();
}
});
}
答案 0 :(得分:0)
private void playSound(int soundID){
final MediaPlayer mp = MediaPlayer.create(this,soundID);
mp.start();
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
mp.release();
}
});
}
答案 1 :(得分:0)
你应该使用Soundpool。它的创建完全是为了播放短音效。它比MediaPlayer更简单易用。 MediaPlayer只能用于播放普通/大型音乐。
请参见此处: http://www.vogella.com/tutorials/AndroidMedia/article.html#tutorial-play-sounds-via-soundpool
注意:无需像示例中那样使用onTouch,您可以使用onClick来简化。