在开发我的网页时,我在使用 HTML5 的 getUserMedia 时遇到了一些困难。这是我第一次尝试实现它来记录用户的音频输入。Flash 不是这个项目的一个选项,因为它也必须在移动设备上使用。
我来这里看看是否有人有经验并知道如何使用 getUserMedia 实现 HTML5 来录制用户麦克风一段时间(通过 PHP 中的会话完成),然后保存音频文件并将其发送到 Web 服务器.
如果这不可能,那么还有其他方法吗,也许是使用 Java 小程序?
js:
<script>
var onFail = function(e) {
console.log('Rejected!', e);
};
var onSuccess = function(s) {
var context = new webkitAudioContext();
var mediaStreamSource = context.createMediaStreamSource(s);
recorder = new Recorder(mediaStreamSource);
recorder.record();
// audio loopback
// mediaStreamSource.connect(context.destination);
}
window.URL = window.URL || window.webkitURL;
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
var recorder;
var audio = document.querySelector('audio');
function startRecording() {
if (navigator.getUserMedia) {
navigator.getUserMedia({audio: true}, onSuccess, onFail);
} else {
console.log('navigator.getUserMedia not present');
}
}
function stopRecording() {
recorder.stop();
recorder.exportWAV(function(s) {
audio.src = window.URL.createObjectURL(s);
});
}
</script>
HTML(从此处链接到 recorder.js ):
<script type="text/javascript" src="recorder.js"> </script>
<input onclick="startRecording()" type="button" value="start recording">
<input onclick="stopRecording()" type="button" value="stop recording and play">