javascript – 网页浏览器中高品质的录音

一行版本:

什么开源软件(WAMI-Recorder)/网络浏览器(通过getUserMedia)会给我最好的音频录音?

高品质定义为(44.1或48采样率)和16位样本大小.

更多信息:

所以目前我的解决方案是WAMI-Recorder,但我想知道HTML5规范是否已经成熟到浏览器的一个点,这样我就可以无Flash录制并获得相同或更高质量的录音.目前看来,WAMI的最大值在22050.

我不需要跨浏览器支持,因为这是为了内部业务使用.

非Flash解决方案也是首选.

解决方法

我发现了一些东西 here.希望它能帮助你录制音频
<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>

下载样品https://github.com/rokgregoric/html5record/archive/master.zip

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...