React-Native声音片段在经过一定量的点击后停止工作

时间:2016-12-17 08:05:56

标签: android audio react-native

我正在使用react-native-sound库。我有一个按钮,调用一个功能来播放一个简短的声音文件。播放声音文件15次后,即使功能加载,声音也不再播放。

以下是我的功能代码:

  playSound() {
    var s = new Sound('soundfile.mp3', Sound.MAIN_BUNDLE, (e) => {
      if (e) {
        console.log('error', e);
      } else {
        console.log('duration', s.getDuration());
        s.play()
      }
    });

  }

发生了什么,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

原因是因为所有资源都用完了。完成后,您应该释放音频资源。

 playSound() {
    var s = new Sound('soundfile.mp3', Sound.MAIN_BUNDLE, (e) => {
      if (e) {
        console.log('error', e);
      } else {
        console.log('duration', s.getDuration());
        s.play(()=>{
                s.release()
        })
      }
    });

  }

此外,您可以重复使用Sound实例,而不是每次都重新创建新资源。