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