首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >网络音频应用编程接口-录制到MP3?

网络音频应用编程接口-录制到MP3?
EN

Stack Overflow用户
提问于 2013-06-02 18:00:36
回答 6查看 14.4K关注 0票数 21

我问这个问题是因为我在任何地方都找不到答案。为了在JS中录制麦克风输入,我成功地实现了RecorderJS。但是,录制的文件是WAV,这会产生大文件。我正在寻找一种方法来记录与JS直接到MP3,或以某种方式编码到MP3而不是WAV。

怎么做呢?有没有可以做到这一点的Web Audio API函数或者某种JS MP3编码器?

EN

回答 6

Stack Overflow用户

发布于 2013-06-05 01:37:57

我见过的唯一的Javascript MP3编码器是https://github.com/akrennmair/libmp3lame-js,它是一个使用emscripten的端口。它应该很慢,但我从来没有用过它。

我不知道有任何原生编写的Javascript MP3编码器,而且编码不在Web Audio API中。

票数 13
EN

Stack Overflow用户

发布于 2015-06-10 23:11:43

有一个用纯javascript编写的库,叫做lamejs。从原始音频对mp3s进行编码。它比libmp3lame的emscripten编译速度快得多。https://github.com/zhuker/lamejs

示例用法:

代码语言:javascript
运行
复制
lib = new lamejs();
mp3encoder = new lib.Mp3Encoder(1, 44100, 128); //mono 44.1khz encode to 128kbps
samples = new Int16Array(44100); //one second of silence
var mp3 = mp3encoder.encodeBuffer(samples); //encode mp3
票数 7
EN

Stack Overflow用户

发布于 2015-06-18 09:40:12

我对这个问题和现有的解决方案感到沮丧,所以我想出了一些更简单的方法:

https://github.com/sb2702/audioRecord.js

使用

创建记录器对象(异步,因为需要用户权限)

代码语言:javascript
运行
复制
    Recorder.new(function(recorder){ 

    }); 

开始录制

代码语言:javascript
运行
复制
         recorder.start();        

停止录制

代码语言:javascript
运行
复制
         recorder.stop();    

导出为mp3

代码语言:javascript
运行
复制
         recorder.exportMP3(function(mp3Blob){ 

            console.log("Here is your blob: " + URL.createObjectURL(mp3Blob));

          });

主要基于RecorderJS,但更改了一些内容以导出为mp3文件,并且不再需要使用AudioContext / navigator.getUs

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16881703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档