devin87 / mp3-recorder Goto Github PK
View Code? Open in Web Editor NEWhtml5录音并编码为mp3格式,支持采样率和比特率设置
html5录音并编码为mp3格式,支持采样率和比特率设置
你好,方便看下么,关闭录音,h5调用手机录像功能,提示浏览器正在录音。
调了好久也解决不了这个问题。>.<
浏览器是Chrome
录制的mp3在网页上播放没声音,保存下来后直接用播放也是没声音
测试过64,192,256kpbs都一样
使用电脑客户端的一些音乐播放器可以播放录制的mp3
找了一首歌曲mp3用播放是有声音的
对比歌曲mp3跟录音mp3最大的区别:歌曲mp3是双声道,录音mp3是单声道,不确定有没有关系
看了大佬博客园文章后,copy代码在使用,64kbps录的太大了,和那种一秒1kb的差距太大,8kbps能达到1kb但声音差太别明显,16kbps又小音质还行。
但64kbps以下确实是有无声的问题,并且是表现成不同设备没声的码率还不是固定的。
调试发现lamejs输出的采样率是通过函数 optimum_samplefreq
推荐出来的,而我们提供的源音频采样率并不一定会成为最终结果采样率:
对于为什么进行采样了的会有可能没有声音,可能是lamejs哪里代码精简错了(比如尝试使用ABR,虽然有代码,但是被删的差不多了),具体原因未能查明,但问题的位置算是找到了。
修改lamejs,不让他进行推荐输出码率,可以修改optimum_samplefreq
相关的地方,或者直接增加一个设置:
function Mp3Encoder(channels, samplerate, kbps) {
......
gfp.in_samplerate = samplerate;
//增加下面这行
gfp.out_samplerate = samplerate;
......
}
固定输出码率为我们的输入码率,测试8-64kbps码率都有声音。
ps: 固定码率后,我们调用encodeBuffer
时音频数据参数的采样率必须和我们给lamejs设置的采样率一致。so,如果我们录音得到的PCM数据是48khz,要32khz的mp3,那么我们调用encodeBuffer
前就要把PCM数据抽样成32khz,然后传给lamejs进行编码。不然声音会被拉长或压扁。
https://github.com/zhuker/lamejs
lamejs一直保持着更新,但是我们这个项目已经好几年没更新了,是否有更新的必要?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.