如何在firefox/chrome中强制使用webrtc音频录制音频文件的时间限制?
例如:一个用户来到一个网站,我希望他们只录制7秒的语音,然后让他们通过电子邮件发送给我。
发布于 2018-03-06 10:30:48
选项'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;
});
https://stackoverflow.com/questions/27945484
复制