Tho*_*ell 9 javascript html5-audio
是否可以使用html5录制声音?我已经下载了最新的金丝雀版Chrome并使用以下代码:
navigator.getUserMedia = navigator.webkitGetUserMedia || navigator.getUserMedia; navigator.getUserMedia({audio:true},gotAudio,noStream);
然后,这会提示用户允许录音,如果您说"是",则会显示一条消息,说明正在录制Chrome.但是可以使用原始数据访问音频缓冲区吗?我似乎无法弄清楚如何.有建议的规格还没有实现,但有人知道它现在是否可以在任何浏览器上实现,并提供说明?
在这里您可以找到我的示例,但它不起作用(部分)。因为 chrome 还没有实现音频录制。这就是为什么你会收到 404 错误,即找不到 BLOB。
下面还有一个表格,因为我的目标是将 BLOB 发送到 php 文件,但由于不起作用,我无法尝试。保存一下,以后可以用。
<audio></audio>
<input onclick="startRecording()" type="button" value="start recording" />
<input onclick="stopRecording()" type="button" value="stop recording and play" />
<div></div>
<!--
<form enctype="multipart/form-data">
<input name="file" type="file" />
<input type="button" value="Upload" />
</form>
-->
<script>
var onFailed = function(e) {
console.log('sorry :(', e);
};
window.URL = window.URL || window.webkitURL;
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia || navigator.msGetUserMedia ||
var localStream
var audio = document.querySelector('audio');
var stop = document.getElementById('stop');
function startRecording(){
if (navigator.getUserMedia) {
navigator.getUserMedia({audio: true, video: false, toString : function() {return "video,audio";}}, function(stream) {
audio.src = window.URL.createObjectURL(stream);
document.getElementsByTagName('div')[0].innerHTML = audio.src;
localStream = stream;
}, onFailed);
} else {
alert('Unsupported');
//audio.src = 'someaudio.ogg'; // fallback.
}
}
function stopRecording(){
localStream.stop();
audio.play();
}
function sendAudio(){
}
</script>
Run Code Online (Sandbox Code Playgroud)
注意:Firefox 的一些信息和操作方法:https://hacks.mozilla.org/2012/07/getusermedia-is-ready-to-roll/
| 归档时间: |
|
| 查看次数: |
14238 次 |
| 最近记录: |