Recorder

一个库搞定 H5 多格式录音,还能语音转文字

Recorder 是一个基于 HTML5 的纯前端录音库,旨在解决浏览器和混合应用中录音格式不统一、兼容性差的问题。它支持 mp3、wav、ogg、webm、amr、g711a、g711u 等多种音频格式,覆盖 PC、Android、iOS 部分浏览器、微信及 Hybrid App 环境。核心能力包括录音、格式转换、ASR 语音识别转文字、DTMF 编码解码,并附带 H5 版语音通话聊天示例。通过简单 API 即可实现高质量录音,并针对不同浏览器自动选择最佳编码方案,极大简化了 Web 端音频采集和处理的复杂度。

开源 free 语音识别
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 5635
维护状态 维护中
是否开源
定价模式 free

项目数据

分类语音识别
开发团队xiangyuecn
所属国家
定价模式free
价格说明开源项目,MIT许可证,完全免费,无付费版本。
访问状态
是否开源
开源协议MIT
主要语言JavaScript
技术栈/模型amr,asr,audio,browser,dtmf,h5,html,html5,javascript,luyin,mp3,ogg,record,recorder,recording,sound-record,wav,web,webm,webrtc
GitHub 星标★ 5635
30天Star增速
HF 下载量
上线时间2018-05-16 00:00:00
最近更新2026-09-22 00:00:00
维护状态维护中
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-10
浏览次数5

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 5 步

环境要求

  • 运行环境为 https 或 localhost 等安全环境(getUserMedia 隐私安全要求)
  • 浏览器需实现 getUserMedia:Chrome、Firefox、Safari、iOS 14.3+、Android WebView、腾讯 X5(QQ/微信)
  • 仅支持单声道录音,未适配双声道
  • 纯前端库,无需后端服务;非浏览器环境(nodejs 等)仅支持部分功能

安装与启动步骤

  1. 1下载仓库源码

    README 提供 GitHub 与 Gitee 两个仓库地址,若 github.io 在线链接无法访问,可下载源码到本地。

    git clone https://github.com/xiangyuecn/Recorder.git
  2. 2放入安全环境

    把 QuickStart.html 拷贝到你的 https 或 localhost 网站中,无需其他文件即可测试;也可以本地直接双击打开 html 文件查看。

  3. 3打开页面录音

    浏览器打开该页面,允许麦克风权限后即可开始录音测试;注意只有安全环境才能录音成功。

  4. 4按需引入录制文件

    需要录 mp3 就引入 recorder.mp3.min.js(150kb),只录 wav 用 recorder.wav.min.js(25kb),均支持实时转码与实时传输。

  5. 5播放与上传录音

    上传后的录音把音频链接赋给 audio.src 即可播放;本地 blob 可用 URL.createObjectURL 生成本地链接,实时片段用 BufferStreamPlayer 播放。

如何确认成功

浏览器打开 QuickStart.html 页面,点击录音能正常采集并播放音频,说明环境配置成功。

常见问题

Q:点录音没反应或报错怎么办?

A:录音必须在 https、localhost 等安全环境下进行;若必须用 http,可在 Chrome 打开 chrome://flags/#unsafely-treat-insecure-origin-as-secure,把地址含端口加入 Insecure origins treated as secure 后重启浏览器。

Q:微信、QQ 内置浏览器能录音吗?

A:支持腾讯 Android X5 内核(QQ、微信、小程序 WebView);如需在微信小程序、uni-app 中直接录音,可使用项目提供的 RecordApp。

Q:支持双声道吗?

A:不支持,本库主要用于语音录制,仅对单声道进行支持,但支持超长时间录音。

Q:录音文件怎么播放?

A:完整音频文件直接把链接赋给 audio.src;本地 blob 可通过 URL.createObjectURL 生成本地链接,也可直接赋给 audio.srcObject(兼容性不如 src)。

Q:官网页打不开怎么办?

A:README 中默认使用 github.io 部署的链接,如果无法访问,可直接下载仓库源码到本地,然后双击打开 html 文件访问。

注意事项

  • 录音必须在 https、localhost 等安全环境下才能进行。
  • 默认输出 mp3 格式,另外可选 wav、pcm、g711a、g711u、ogg、amr、webm(beta),有编码器即可扩展任意格式。
  • 不建议自己生成根证书签发域名证书:流程复杂、每台设备都要导入,且很多现代浏览器不再信任用户目录下导入的根证书。
  • README 未提供 npm 等包管理器安装方式,使用方式为拷贝 html 或引入 js 文件。

核心亮点

  • 支持 mp3/wav/ogg/webm/amr 等 7 种格式,覆盖全平台浏览器
  • 内置 ASR 语音识别和 DTMF 编解码,开箱即用
  • 提供 Android/iOS App 源码,无缝集成 Hybrid 应用

不足之处

  • iOS 部分浏览器(如 Safari)兼容性仍受限
  • 文档/社区待观察

适用场景

  • Web 端在线录音并上传或转写
  • H5 语音通话或聊天应用
  • Hybrid App 内嵌录音功能

替代项目

MediaRecorder API、recorder.js、h5-audio-recorder

项目介绍

Recorder 是语音识别领域的开源项目,由 xiangyuecn 开发,2018 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(5,635)位列前 8%,在语音识别分类的 212 个项目里位列前 12%。

项目仍在小幅维护中,最近一次代码更新于 2026-09-22。MIT许可证,完全免费,无付费版本。从国内网络环境看,可直接访问。

它主要面向的使用场景是:Web端在线录音并上传或转写。同类可对比的替代方案包括 MediaRecorder API、recorder.js、h5-audio-recorder。

上一篇:Fun-ASR

下一篇:AudioNotes

同类项目推荐

obs-localvocal 开源

直播录屏时,本地AI实时生成字幕,保护隐私零延迟

OBS plugin for local speech recognition and captioning using AI

★ 1616 2026-09-10
LiveCaptions-Translator 开源

实时捕获系统音频,一键翻译成你懂的语言

Lightweight and powerful real-time audio/speech translation tool based on Windows Li···

★ 3755 2026-08-10
speechbrain 开源

一站式 PyTorch 语音工具箱,快速搞定识别、说话人验证等任务

A PyTorch-based Speech Toolkit

★ 11834 2026-08-26
whisper-diarization 开源

给语音转写加上说话人标签,会议记录一目了然

Automatic Speech Recognition with Speaker Diarization based on OpenAI Whisper

★ 5657 2026-08-13