React Native音频无法按时播放

时间:2019-10-16 17:25:22

标签: react-native timer expo

我正在尝试使用本机反应制作节拍器,但声音播放遇到问题。我曾经使用ExpoAV播放声音,但是当我在expo应用程序上运行它时,声音非常不稳定,有时会跳动。我猜测按时播放声音的最佳方法是使用本机模块?有没有办法在本机反应中正确地解决它?

这是我使用的代码:

const soundTimer = setInterval(() => {
    if (clickSound._loaded) {
        try {
            clickSound.replayAsync();
        } catch (err) {
            console.log(err.message);
        }
    }
}, 60000/tempo);

编辑: 经过更深入的搜索之后,我在Stack Overflow上找到了一个已经回答的问题(我知道,以前可以做到这一点...)。基本上,问题不在于expo-av模块,而在于JavaScript计时器,该计时器可以在单个线程上平衡精度和性能。这是link

1 个答案:

答案 0 :(得分:1)

我创建了演示:https://snack.expo.io/SJSNohTYS

使用useEffect和async等待来更改代码的工作流程。