2016-12-17 50 views
0

我正在使用react-native-sound库。我有一个按钮调用一个函数来播放一个短的声音文件。播放声音文件15次后,即使该功能加载,声音也不会播放。经过一定次数的点击后,React-Native声音片段停止工作

以下是我的功能代码:

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() 
     } 
    }); 

    } 

这是怎么回事,我该如何解决这个问题?

回答

0

原因是因为所有的资源都被用完了。你应该释放你的音频资源,当你完成它们。

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