Если вы разрабатываете игру, VR/AR или приложение-синтезатор, то обычно вы хотите добиться моментальной скорости проигрывания звуков, даже если они идут из нескольких источников, например, как в драм-машине.
В этом вам поможет библиотека react-native-audio-playback. Она построена с использованием Android C++ Oboe и iOS Audio Unit и позволяет вам проигрывать несколько аудиодорожек без задержек.
В библиотеке есть две ключевые концепции: Stream и Player. Stream — это выходной аудиопоток, который объединяет множество потоков, приходящих с плеера. Важно, что каждый плеер может управлять проигрывателем независимо.
import { AudioManager } from 'react-native-audio-playback';
AudioManager.shared.setupAudioStream(44100, 2);
const player1 = AudioManager.shared.loadSound(require('./assets/sound1.wav'));
const player2 = AudioManager.shared.loadSound(require('./assets/sound2.wav'));
player1.loopSound(true); // boolean: whether to loop or not
player2.playSound();
player1.pauseSound();
player2.seekTo(1000); // timeInMs
При настройке стрима используются два параметра: Sample Rate и Channel Count.
Подробное видео по работе с библиотекой от её создателя смотрите по ссылке.
React Native World | Навигация по каналу
