如何强制录制webrtc音频的时间限制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何强制录制webrtc音频的时间限制相关的知识,希望对你有一定的参考价值。

如何在firefox / chrome中使用webrtc音频强制录制音频文件的时间限制?

示例:用户访问网站,我希望他们只录制7秒钟的语音,然后让他们通过电子邮件发送给我。

答案

选项'timeSlice'是一种限时录制的方式。这将有助于遵循示例:

function captureMicrophone(callback) {
    navigator.mediaDevices.getUserMedia({ audio: true, video: false 
    }).then(function(microphone) {
	    callback(microphone);
    }).catch(function(error) {
	    log(error);
    });
}

var blobs = [];
var audio = document.querySelector('audio');
captureMicrophone(function(microphone) {
    setSrcObject(microphone, audio);
	audio.play();				
				
	recorder = RecordRTC(microphone, {						
		recorderType: StereoAudioRecorder,
		mimeType: 'audio/wav',
		desiredSampRate: 16000,
		numberOfAudioChannels: 1,
		timeSlice: 50, // pass this parameter
		// getNativeBlob: true,
		ondataavailable: function(blob) {
			blobs.push(blob);
			var size = 0;
			blobs.forEach(function(b) {
				size += b.size;
			});	
			/////						
		}
	});				
				
	recorder.startRecording();
	recorder.microphone = microphone;
				
	document.getElementById("start").disabled = true;
	document.getElementById("stop").disabled = false;
});

以上是关于如何强制录制webrtc音频的时间限制的主要内容,如果未能解决你的问题,请参考以下文章

如何在服务器端录制 WebRTC 视频/音频会话?

如何使用 webrtc 录制高质量的立体声音频?

如何使用 webRTC 和基于服务器的对等连接录制网络摄像头和音频

如何直接从浏览器录制音频

Android在调用WebRTC时将音频录制到文件控制器

浅析webrtc中音频的录制和播放流程