Я делаю приложения для видеосвязи с использованием react-native-webrtc. Сейчас двухсторонняя связь работает хорошо. Но мне надо отправлять пакеты с аудиоданными на другой сервер для анализа. Как возможно захватить в буфер данные из аудиопотока.В вебе это можно сделать например так:
const localStream = await navigator.mediaDevices.getUserMedia({
video: {
width: 1280,
height: 720,
frameRate: 30,
},
audio: true,
});
const audioTrack = localStream.getAudioTracks()[0];
this.mediaRecorder = new MediaRecorder(audioTrack);
this.mediaRecorder.ondataavailable = async (event: any) => {
if (event.data.size > 0) {
const buffer = await event.data.arrayBuffer();
if (this.socket && this.socket.connected) {
this.socket.emit('audio-data', Buffer.from(buffer));
} else {
console.log('WebSocket is not connected. Cannot send audio data.');
}
}
};
this.mediaRecorder.onerror = (error: any) => {
console.error('MediaRecorder error:', error);
};
this.mediaRecorder.start(1000);
Но в react-native нет MediaRecorder. Как это можно сделать в react-native?