tha*_*guy 19 javascript browser audio html5 html5-audio
一行版本:
什么开源软件(WAMI-Recorder)/网络浏览器(通过getUserMedia)会给我最优质的录音?
高质量定义为(44.1或48个采样率)和16位样本大小.
更多信息:
所以目前我的解决方案是WAMI-Recorder,但我想知道HTML5规范是否已经成熟到浏览器中的某个点,这样我就可以在没有Flash的情况下进行录制并获得相同或更高质量的录音.目前,看起来WAMI最高可达22050.
我不需要跨浏览器支持,因为这是供内部业务使用.
非Flash解决方案也是首选.
Cha*_*mal 12
我发现了一些在这里.希望它能帮助你录制音频
<html>
<body>
<audio controls autoplay></audio>
<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" />
<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>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
下载示例https://github.com/rokgregoric/html5record/archive/master.zip
据我所知,WebRTC 项目是唯一可用的高质量音频解决方案。目前有一个针对 chrome 的稳定版本。我相信 Firefox 仍处于测试阶段。随着 WebRTC 的成熟,我确信所有浏览器都会对此提供支持。