设为首页收藏本站

安徽论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 12670|回复: 0

html5 录制mp3音频支持采样率和比特率设置

[复制链接]

76

主题

0

回帖

240

积分

中级会员

Rank: 3Rank: 3

积分
240
发表于 2022-3-26 11:03:36 | 显示全部楼层 |阅读模式
网站内容均来自网络,本站只提供信息平台,如有侵权请联系删除,谢谢!
13年的时候做过html5录音,一个问题是保存的wav格式文件很大,当初用了一个迂回的方式,上传到服务器后调用 lame 编码器转换,但由于文件大,上传较慢。不得不说,前端技术发展真是日新月异,有人实现了js版本的lame编码器,可以直接在浏览器端录制MP3音频。
lamejs介绍

最初有个开源项目libmp3lame-js,直接将 lame 源码编译为 js版本,后来有人基于libmp3lame使用 js 进行了重写,就是如今的lamejs 项目。相比libmp3lame ,自身体积更小,而且能实现更快的编码速度。据介绍说,编码一个132秒长度的音频仅需6.5秒。
录制mp3音频

我对代码进行了梳理和封装,已发布到Github,参见 mp3-recorder。对实现过程有兴趣或对使用lamejs有兴趣的,可以参考我的源码。支持Firefox 及 Webkit浏览器。
采用64kbps比特率,录制一分钟音频长度约为480KB。

调用示例
  1. /*
  2.     MP3的采样频率分为 48000 44100 32000 24000 22050 16000 12050 8000

  3.     比特率值与现实音频对照(仅供参考)
  4.   16Kbps=电话音质
  5.   24Kbps=增加电话音质、短波广播、长波广播、欧洲制式中波广播
  6.   40Kbps=美国制式中波广播
  7.   56Kbps=话音
  8.   64Kbps=增加话音(手机铃声最佳比特率设定值、手机单声道MP3播放器最佳设定值)
  9.   112Kbps=FM调频立体声广播
  10.   128Kbps=磁带(手机立体声MP3播放器最佳设定值、低档MP3播放器最佳设定值)
  11.   160Kbps=HIFI高保真(中高档MP3播放器最佳设定值)  
  12.    192Kbps=CD(高档MP3播放器最佳设定值)
  13.   256Kbps=Studio音乐工作室(音乐发烧友适用)
  14. */

  15. //唯一影响mp3文件大小的参数为 bitRate
  16. //sampleRate 仅供特殊需求的人使用
  17. var recorder = new MP3Recorder({
  18.     //numChannels: 1,     //声道数,默认为1
  19.     //sampleRate: 8000,   //采样率,一般由设备提供,比如 48000
  20.     bitRate: 64,        //比特率,不要低于64,否则可能录制无声音(人声)

  21.     //录音结束事件
  22.     complete: function (data, type) {
  23.         //blob为mp3音频数据
  24.         var blob = new Blob(data, { type: type });
  25.     }
  26. });

  27. //开始录音
  28. recorder.start(onSuccess, onError);

  29. //停止录音
  30. recorder.stop();

  31. //暂停录音
  32. recorder.pause();

  33. //恢复录音
  34. recorder.resume();
复制代码
使用很简单,demo有详细代码,在此就不多说了。
代码下载
源码及示例代码
源码更新请关注Github
到此这篇关于html5 录制mp3音频支持采样率和比特率设置的文章就介绍到这了,更多相关html5 录制mp3音频内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
                                                                                               
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
免责声明
1. 本论坛所提供的信息均来自网络,本网站只提供平台服务,所有账号发表的言论与本网站无关。
2. 其他单位或个人在使用、转载或引用本文时,必须事先获得该帖子作者和本人的同意。
3. 本帖部分内容转载自其他媒体,但并不代表本人赞同其观点和对其真实性负责。
4. 如有侵权,请立即联系,本网站将及时删除相关内容。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表