RecordRTC在没有耳机视频录制的情况下制造噪音

时间:2017-07-13 17:28:02

标签: javascript audio video noise recordrtc

我是RecordRTC.js的新手,我有简单的应用程序,可以录制音频和视频并保存该视频。如果我使用耳机录制视频,这工作正常。但如果我删除耳机并尝试录制视频,那么它会产生一些可怕的噪音。有时候会发生这样的情况,如果我刷新页面然后它没有发出噪音但是如果我插入耳机并将其移除并按下录制按钮然后开始发出噪音。

这是我开始录制的代码。

function captureUserMedia(mediaConstraints, successCallback, errorCallback) {
    navigator.mediaDevices.getUserMedia(mediaConstraints).then(successCallback).catch(errorCallback);
}

function onMediaSuccess(stream) {
    streamMedia = stream;
    var videoPreview = document.getElementById('webrtcVideo');
    var videoFile = !!navigator.mozGetUserMedia ? 'video.gif' : 'video.webm';

    videoPreview.src = window.URL.createObjectURL(stream);
    videoPreview.play();
    recordVideo = RecordRTC(stream, {
        type: 'video'
    });
    recordVideo.startRecording();
}

function onMediaError(e) {
    console.error('media error', e);
}

/**
 * This function will be called from html on click of record button.
 */
function startRecording() {
    captureUserMedia(mediaConstraints, onMediaSuccess, onMediaError);
}

RecordRTC

1 个答案:

答案 0 :(得分:0)

var mediaConstraints = {
    video: true,
    audio: {
        mandatory: {
          echoCancellation: false,
          googAutoGainControl: false,
          googNoiseSuppression: false,
          googHighpassFilter: false
    },
    optional: [{
          googAudioMirroring: false
    }]
  },
};
function captureUserMedia(mediaConstraints, successCallback,errorCallback) {
  navigator.mediaDevices.getUserMedia(mediaConstraints)
  .then(successCallback)
  .catch(errorCallback);
}