Я работал над проектом, в котором мне нужно было записать голос с микрофона и загрузить его на веб-сервер.Я хочу это в формате .mp3.Для этого прошли этот урок .
Он отлично работает в конце с demo , но когда я использовал ту же кодировку и все файлы при условии, что это показывает мне ошибку на локальном хосте, а также в Интернете.
Uncaught не удалось загрузить инициализатор памяти Mp3LameEncoder.min.js.mem
Я работал в соответствии с ними и изменил коды на странице demo , но она не работает.
Я работаю в ASP.NET C # и использую Chrome в качестве моего пользовательского агента.
Моя файловая структура:
Вот пример кода:
<script>
(function () {
var audioContext, gumStream, recorder, input, encodingType, encodeAfterRecord = true, startRecording, stopRecording;
URL = window.URL || window.webkitURL;
var AudioContext = window.AudioContext || window.webkitAudioContext;
//window.AudioContext = window.AudioContext || window.webkitAudioContext;
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
startRecording = function () {
var constraints = { audio: true, video: false };
navigator.mediaDevices.getUserMedia(constraints).then(function (stream) {
audioContext = new AudioContext();
gumStream = stream;
input = audioContext.createMediaStreamSource(stream);
//input.connect(audioContext.destination);
encodingType = 'mp3';
recorder = new WebAudioRecorder(input, {
workerDir: '/vendors/_war/',
encoding: encodingType,
numChannels:2
});
recorder.onComplete = function (recorder, blob) {
createDownloadLink(blob, recorder.encoding);
alert('recording done');
}
recorder.setOptions({
timeLimit: 120,
encodeAfterRecord: encodeAfterRecord,
ogg:{ quality: 0.5},
mp3: { bitRate: 160 }
});
recorder.startRecording();
}).catch(function (err) {
alert('Exception: ' + err);
});
};
stopRecording = function () {
gumStream.getAudioTracks()[0].stop();
recorder.finishRecording();
};
$('#recordButton').on('click', function () {
startRecording();
});
$('#stopButton').on('click', function () {
stopRecording(true);
});
}).call(this);
function createDownloadLink(blob, encoding) {
var url = URL.createObjectURL(blob);
var au = $('#au'); //document.createElement('audio');
//var li = document.createElement('li');
//var link = document.createElement('a');
//add controls to the &amp;lt;audio&amp;gt; element
au.controls = true;
au.src = url;
//link the a element to the blob
//link.href = url;
//link.download = new Date().toISOString() + '.' + encoding;
//link.innerHTML = link.download;
//add the new audio and a elements to the li element
//li.appendChild(au);
//li.appendChild(link);
//add the li element to the ordered list
//var recordingsList = $('#recordingsList');
//recordingsList.appendChild(li);
}
</script>