【发布时间】:2016-03-15 22:17:22
【问题描述】:
我正在使用 recorder.js 在网页上录制音频,我希望让用户能够播放它。 我有一个最小的测试用例,它在 Chrome 桌面上运行良好,但在 Android 上失败。录音好像没问题。但是音频标签似乎无法播放 blob(在 Android 上)。 https://www.quidoo.fr/html/test_recorder.html
window.AudioContext = window.AudioContext || window.webkitAudioContext;
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
window.URL = window.URL || window.webkitURL;
var audio_context;
var recorder;
function init_recording(){
audio_context= new AudioContext();
navigator.getUserMedia({audio: true},
function (stream){
var source=audio_context.createMediaStreamSource(stream);
recorder=new Recorder(source); // defined in recorder.js
},
function(error) {
alert('No live audio input');
}
);
}
function onRecord(){
recorder.clear();
recorder.record();
}
function onStop(){
recorder.stop();
recorder.exportWAV(function(blob) {
var url = window.URL.createObjectURL(blob);
var myAudio=window.document.getElementById('myAudio');
myAudio.src=url;
});
}
init_recording();
<script src="https://www.quidoo.fr/js/libs/recorder.js"></script>
<button onclick="onRecord()">Record</button>
<button onclick="onStop()">Stop</button>
<audio id="myAudio" controls></audio>
我想知道这是否是 Android 版 Chrome 的错误,或者我错过了什么。有没有办法绕过这个而不必在重播之前上传它?
【问题讨论】:
标签: javascript android google-chrome audio recorder.js