Я строю новое приложение, используя угловые 7 и WEBRTC, и я использую Recordrtc.js к записи (аудио и видео), моя проблема заключается в том, когда я записываю несколько потоков только аудио первого потока.

public addStreamToRecorder(stream: MediaStream) 
{

  if (!this.recorder) 
     {
      this.recorder = RecordRTC([stream],{type: "video"});
      this.recorder.startRecording();
     } 
  else 
     {
      this.recorder.getInternalRecorder().addStreams([stream]);
     }
 }

После расследования я обнаружил, что приложение функция в recrdrtc не смешивает аудио

1
Musab.BA 30 Сен 2019 в 14:21

1 ответ

Лучший ответ

Я зафиксировал эту проблему, обновив функцию AppendStreams в RecordRTC с последней версией, в котором я получил его из Multistreamrecorder (https: // github. COM / StreamProc / MediaSreamRecorder)

Заменить приложение по течению в recordrtc с

this.appendStreams = function (streams) {
    if (!streams) {
        throw 'First parameter is required.';
    }

    if (!(streams instanceof Array)) {
        streams = [streams];
    }

    arrayOfMediaStreams.concat(streams);
    streams.forEach(stream => {
        if (stream.getTracks().filter(function (t) {
            return t.kind === 'video';
        }).length) {
            var video = getVideo(stream);
            video.stream = stream;
            videos.push(video);
        }

        if (stream.getTracks().filter(function (t) {
            return t.kind === 'audio';
        }).length && this.audioContext) {
            var audioSource = this.audioContext.createMediaStreamSource(stream);
            audioSource.connect(this.audioDestination);
            self.audioSources.push(audioSource);
        }
    });
};
2
Musab.BA 3 Окт 2019 в 09:10