在html5网页中录音解决方案

本文探讨了网页录音功能的实现方案,重点介绍了AudioContext和getUserMedia API的使用,以及在不同浏览器和移动设备上的兼容性问题。文章还分享了针对微信浏览器的特定解决方案,并提供了项目代码和测试结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

缘起

因公司业务需要在网页录音功能,因为h5的api兼容限制不得想出一些解决方案,以下是总结。

首发

https://shudong.wang/10585.html

demo测试地址

https://wsdo.github.io/recording/

项目地址

https://github.com/wsdo/recording

Q&A

后续继续完善,有这个需求的朋友可以继续讨论

调查

  • 百度语音识别

感觉百度够强大,肯定有完美的解决方案,最终发现在移动端网页打开百度语音直接跳转让下载app(说明不支持)

  • 谷歌语音识别

在不支持的机型上面不显示语音识别按钮

兼容性

h5录音主要使用AudioContext 和 getUserMedia 兼容性还是很差的,尤其是在移动端。

AudioContext

getUserMedia

真机测试结果: (测试部分,旁边同事的手机和公司的测试机,和自己的手机)

可以使用的:(最新版本,常用)
pc safari 支持
ios Safari 支持
安卓
小米5 微信里面可以使用
小米5 Chrome 最新版可以使用
小米5 uc可以使用

不可以使用的
ios Chrome 到这出了问题 webkitAudioContext.createScriptProcessor
ios 微信里面不支持
小米5 自带浏览器不可以
华为自带浏览器不可以

解决方案

考虑到手机端微信里面使用场景比较多

  • 针对微信专门写一套解决方案,借用微信的jssdk 的api,这样可以解决大部分在微信里面使用的场景
  • 兼容的手机:正常使用
  • 不兼容的手机:提示 推荐浏览器

操作过程

先了解一下简介和历史吧

简介

长久以来,音频/视频捕获都是网络开发中的“圣杯”。
多年来,我们总是依赖于浏览器插件&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值