E / MediaPlayer:错误(1,-19)

时间:2017-01-09 00:22:37

标签: android media-player android-mediaplayer

当用户点击按钮时,我创建了一个简单的音板来播放声音。问题是,如果足够按下按钮(通常大约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();

        }
    });
}

2 个答案:

答案 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来简化。