Мне нужно записать видео (с аудиотреком) и другой аудиотрек с другого аудиовхода в моем сервисе.Запись со второго микрофона должна быть необязательной и контролироваться с помощью флажка.
Пожалуйста, проверьте это демо:
jsfiddle.net / x45h6cg3
function getMediaWithConstraints(audioSource, videoSource) {
// webrtc does supports only fixed sizes for firefox 16:9 ratio.
let w = 640;
let h = 360;
let constraints = {
audio: { deviceId: audioSource ? { exact: audioSource } : undefined },
video: {
deviceId: videoSource ? { exact: videoSource } : undefined,
aspectRatio: 1.7777777778,
width: { min: w, max: w, ideal: w },
height: { min: h, max: h, ideal: h }
}
};
navigator.mediaDevices.getUserMedia(constraints)
.then(gotStream).catch(errorCallback);
}
function getSecondMediaWithConstraints(secondAudioSource) {
let audioConstraints = {
video: false,
audio: { deviceId: secondAudioSource ? { exact: secondAudioSource } : undefined }
};
navigator.mediaDevices.getUserMedia(audioConstraints)
.then(gotSecondStream)
.catch(errorCallback);
}
Отлично работает в Chrome, но выдает MediaStreamError AbortError "Ошибка запуска аудио" в Firefox.Необходима поддержка службы Firefox.
Для тестирования требуются как минимум два аудиовхода.
Кто-нибудь может помочь с правильной инициализацией потока в Firefox?