Я работаю над реализацией getUserMedia для аудио/видео, а затем сохраняю его через локальное хранилище через HTML5 api. У меня есть два вопроса.Вопросы getUserMedia - Остановить поток и локальное хранилище API
Первая проблема заключается в том, что когда звук соединяется с ней, эхо мой голос очень слабо и имеет постоянный статический звук (протестирован в firefox). Есть ли какие-либо известные проблемы с этим, я не смог найти ответ любого рода.
Кроме того, существует ли документация, останавливающая и помещающая файл mediaStream в что-то для сохранения через локальное хранилище или через ajax/php или что-то в этом роде? Я немного потерял, как остановить, а затем сохранить файл.
МОЙ код JavaScript и код HTML ниже ... СПАСИБО!
<section>
<!-- <audio controls autoplay></audio> -->
<video controls autoplay></video>
<input id="startRecording" type="button" value="Start Recording"/>
<input id="stopRecording" type="button" value="Stop Recording"/>
</section>
window.onload = function() {
function hasGetUserMedia() {
//Note: opera is unprefixed
return !!(navigator.hasGetUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia);
} //Check for Get User Media in browsers
function startRecording() {
navigator.getUserMedia({audio: true, video: true},function(stream) {audio.src = window.URL.createObjectURL(stream); },onFail);
}
function stopRecording() {
var audio = document.querySelector('video');
audio.src = "";Q
}
var onFail = function(e) {
console.log("ERROR");
}
var audio = document.querySelector('video');
if (hasGetUserMedia()) {
//AWESOME! Do whatever needs to be done
window.URL = (window.URL || window.webkitURL || window.webkitURL || window.mozURL || window.msURL);
navigator.getUserMedia = (navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia);
var startRecord = document.getElementById('startRecording');
var endRecord = document.getElementById('stopRecording');
startRecord.onclick = startRecording;
endRecord.onclick = stopRecording;
} else {
alert("FAIL");
//Put in fallback for flash/silverlight?
} //Check for getUserMedia()
} //load this stuff onload