使用getUserMedia捕获仅限音频的流或生成一个新的媒体流对象,您只需添加音频轨道。
var recorder;
var listOfBlobs = [];
navigator.mediaDevices.getUserMedia({
audio: true,
video: true // video tracks are enabled only for demo purpose
}).then(function(camera) {
hiddenVideo.srcObject = camera; // make sure that camera tracks are not released/stoppped/inactive
var audioOnlyStream = new MediaStream();
camera.getAudioTracks().forEach(function(audioTrack) {
audioOnlyStream.addTrack(audioTrack);
});
recorder = RecordRTC(audioOnlyStream, {
type: 'audio',
mimeType: 'audio/webm',
recorderType: MediaStreamRecorder,
timeSlice: 1000,
ondataavailable: function(blob) {
listOfBlobs.push(blob);
}
});
});
btnStopRecording.onclick = function() {
recorder.stopRecording(function() {
var singleBlob = new Blob(listOfBlobs, {
type: 'audio/webm'
});
var url = URL.createObjectURL(singleBlob);
window.open(url);
});
};
我想捕获音频/ wav音频,因为这是在服务器端处理所需的。我看到可以使用** StereoAudioRecorder **,但不使用** MediaStreamRecorder **。但是当我使用** StereoAudioRecorder **时,我没有得到基于时间的斑点。有什么办法可以得到吗?另外我需要16000的desiredSampleRate。 – user3170450