我目前正在開發一種使用用戶PC麥克風的錄音機,它工作正常。然而,當我要錄製的聲音,我得到這種類型的錯誤:MediaStreamRecorder和TypeScript未捕獲TypeError
audioHandler.ts:45 Uncaught TypeError: MediaStreamRecorder is not a function
這是代碼:
/// <reference path="../references.d.ts" />
//This component handles all things audio related
export = Scaut.AudioHandler;
module Scaut.AudioHandler {
var n = <any>navigator;
var stream = <any>"";
var stopRecording = <any>"";
var mediaRecorder = <any>"";
//var MediaStreamRecorder = <any>"";
//Check if microphone is ok
export function hasGetUserMedia() {
n.getUserMedia = n.getUserMedia ||
n.webkitGetUserMedia ||
n.mozGetUserMedia;
if (n.getUserMedia) {
n.getUserMedia({ audio: true},
function (stream) {
var audio = <any>"";
audio = document.getElementById('audioRecord');
audio.src = window.URL.createObjectURL(stream);
audio.onloadedmetadata = function (e) {
audio.play();
};
},
function (err) {
alert("The following error occured: " + err.name);
}
);
} else {
alert("getUserMedia not supported");
}
recordAudio(stream);
}
//Record audio
export function recordAudio(stream) {
mediaRecorder = new MediaStreamRecorder(stream);
console.log("Stream: "+stream)
mediaRecorder.mimeType = 'audio/ogg';
mediaRecorder.audioChannels = 1;
mediaRecorder.ondataavailable = function (blob) {
// POST/PUT "Blob" using FormData/XHR2
var blobURL = URL.createObjectURL(blob);
//document.write('<a href="' + blobURL + '">' + blobURL + '</a>');
console.log("Blob: "+blob)
console.log("BlobUrl: "+blobURL)
};
mediaRecorder.start(3000);
}
任何人都可以點我在正確的方向?
您是否在您的文件中導入了https://github.com/streamproc/MediaStreamRecorder? – Overmachine