我收到以下错误(仅每隔几次运行应用程序,所以并非总是如此):
Required dispatch_sync to load constants for RNSound. This may lead to deadlocks.
和
RCTBridge required dispactch_sync to load RNSound. This may lead to deadlocks.
我的应用程序仍在运行,但我不确定是什么原因造成的。当我在模拟器中重新加载应用程序时,它会间歇性地发生。
这是相关代码:
playAudio = (file) => {
console.log(file)
var s = new Sound('audio/' + file, Sound.MAIN_BUNDLE, (error) => {
if (error) {
console.log('error', error);
} else {
console.log('duration', s.getDuration());
s.play(()=>{
s.release()
console.log("Sound Resource Released")
})
}
});
}
但是,播放音频文件时不会出现问题。该问题似乎仅在播放音频文件然后重新加载模拟器(命令 R)后出现。如果我再次重新加载模拟器,错误就会消失。
发生此错误是否是因为以前实例中的音频文件仍处于打开状态并影响正在运行的应用程序的新实例?我应该做些什么来解决这个问题,它会在生产中出现问题吗?