Захват аудиоданных из видеосвязи в React Native

    Я разрабатываю приложение для видеосвязи на основе react-native-webrtc. Двухсторонняя связь уже работает корректно, однако возникла задача: отправлять пакеты с аудиоданными на отдельный сервер для анализа. Мне нужно захватить аудиопоток и поместить его данные в буфер.

    Реализация в вебе

    В веб-среде это можно сделать с помощью MediaRecorder. Пример кода:

    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) => {
      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) => {
      console.error('MediaRecorder error:', error);
    };
    
    this.mediaRecorder.start(1000);

    Проблема в React Native

    В React Native нет встроенного аналога MediaRecorder, поэтому требуется другой подход. Вопрос: как реализовать захват аудиоданных из потока в React Native и отправить их на сервер?