公司项目有个试验性需求需要调研前端如何获取音频流的实时二进制数据,依旧是先问 GPT
- 首先了解到的是 AudioContext,其 createScriptProcessor 可用于返回二进制数据,但该方法已标记为弃用
- 搜索得知 AudioWorkletProcessor 是其替代方案,使用其
process
方法结合port
推送数据给前台,再经过 WebSocket 转发即完成过程 - 使用 AudioWorkletNode 连接音频输入源到该 Processor 即开始处理
- 谷歌这个获取音量大小的 Demo 比较有参考性
- 期间复制代码到本地无法运行,发现是
AudioWorkletNode
不能在 InlineScript 下运行,必须在某个单独 JS 文件下才行 - 接下来还得看服务器端能否正常接受这个数据,是否还需要做额外的处理(编码,格式标头等)
- 晚上看了一集高木同学
- 小窝后端新增罗列前端展示设置的接口
小窝新前台修改了获取设置的逻辑,数据存储在 Pinia 里面
- 参考 官方文档
- 日常原神和崩铁子
获取音频流的实时二进制数据
2024-05-28
2