Я пытаюсь сделать метроном, используя реагировать родной, но у меня проблемы с воспроизведением звука. Я использовал ExpoAV для воспроизведения звука, но когда я запускаю его в приложении expo, он очень нестабилен и иногда играет неординарно. Я предполагаю, что лучший способ воспроизводить звуки вовремя - это использовать нативные модули? Есть ли способ исправить это прямо в реагировать родной?
Вот код, который я использую:
const soundTimer = setInterval(() => {
if (clickSound._loaded) {
try {
clickSound.replayAsync();
} catch (err) {
console.log(err.message);
}
}
}, 60000/tempo);
Редактировать: После более интенсивного поиска, я нашелуже ответил на вопрос здесь, на переполнение стека (я знаю, мог бы сделать это раньше ...). По сути, проблема была не в модуле expo-av, а в таймере JavaScript, который сделан для балансировки точности и производительности в одном потоке. Вот ссылка .