我正在使用 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()
      }
    });

  }

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

最佳答案

原因是因为所有的资源都被用完了。处理完音频资源后,您应该释放它们。

 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 实例,而不是每次都重新创建一个新资源。

关于android - 在一定数量的点击后,React-Native 声音剪辑停止工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41196649/

10-15 19:29