blob与wav、mp3的关系

2023-08-07
7863 分钟
...

Web MediaRecorder 是 Web API 中的一部分,用于在浏览器中录制音频和视频。它可以捕获音频和视频数据,并将其保存为 Blob 对象。

Blob(二进制大对象)是一种数据类型,用于存储二进制数据。它可以包含任意类型的数据,包括音频、视频、图像等。Blob 对象通常与特定的文件格式相关联。所以,你提到的 WAV 和 MP3 都是常见的音频文件格式。

在使用 MediaRecorder 录制音频后,可以通过调用其 ondataavailable 事件来获取 Blob 数据。这个 Blob 对象可以表示录制的音频数据。接下来,你可以使用这个 Blob 对象对录制的音频进行处理或保存。

对于录制的音频数据而言,它本身不直接与 WAV 或 MP3 格式有关。Blob 只是表示原始的音频数据,并没有指定具体的文件格式。要将 Blob 数据转换为 WAV 或 MP3 格式,需要进行相应的编码操作。

对于 WAV 格式的编码,可以使用 Web API 中的 AudioContext 进行转换。你可以创建一个新的 AudioContext,通过 decodeAudioData 方法将 Blob 数据解码为 PCM 格式的音频数据,然后使用其他库或自定义代码将 PCM 数据编码为 WAV 格式。

对于 MP3 格式的编码,由于 MP3 是一种有损压缩格式,Web API 并不直接支持将 Blob 数据编码为 MP3 格式。你可以使用第三方库,如 LAMEjs 或 libmp3lame.js,来在浏览器中进行 MP3 编码。

总结来说,Web MediaRecorder 返回的 Blob 对象是原始录制的音频数据,可以使用特定的编码库将其转换为 WAV 或 MP3 格式。

react-media-recorder-2

react-audio-voice-recorder

audio-react-recorder

如果您觉得这篇文章有帮助,请点个赞吧~

分享文章

相关文章

更多文章 →
web2024-03-12
手机chrome浏览器真机调试PC端本地的项目_chrome 测试pc端
1.本次实验环境 操作系统: win10 10.0.19042 PC端: 97.0.4692.99(正式版本) (64 位) :Android 10; MIX 2S Build/QKQ1.190828.002 chrome浏览器手机端:96.0.4664.104 2.前期准备 1. 将手机的开发者模式打开,不同手机可能打开的方式不同。(百度自查) 2. 用数据线将手机与电脑进行连接。(注意部分数据线只有充电功能,不能传输数据) 3. 手...
学习
AI2026-09-01
Deep Agents 01:何为 Agent Harness,以及如何开始
1、本篇任务:完成一份多步骤、带证据的技术调研 普通客服 Agent 的问题短、工具少、输出即时。技术调研或编码任务会持续很久,产生计划、搜索结果、文件和中间结论。Deep Agents 在 LangChain/LangGraph 之上预装规划、虚拟文件系统、上下文压缩和子 Agent,适合这类开放任务。 本课让 Agent 比较两种向量数据库,并交付一份可验证报告。 2、什么时候需要 Deep Agent 满足以下两项以上再考虑:任务...
学习
AI2026-09-01
Deep Agents 02:子 Agent、虚拟文件系统与长期记忆
1、本篇任务:让主管只看结论,让子 Agent 处理细节 技术调研会产生几十次搜索和大量文件。如果全部进入主管上下文,真正的目标会被噪音淹没。本课用两个子 Agent: 收集证据, 检查结论;主管负责计划与最终合成。 2、什么时候委派,什么时候直接调用工具 适合委派:子任务有多步;需要专门提示或工具;会产生大量中间结果;只需返回有限结论。不适合:一步查询;主管需要全部中间上下文;协调成本超过任务本身。 3、配置专门子 Agent Pyt...
学习
AI2026-09-01
Deep Agents 03:生产化、Sandbox、权限与上线验收
1、本篇任务:让 Deep Agent 在隔离环境中分析代码 只读研究 Agent 风险有限;编码 Agent 需要读写文件、安装依赖和执行测试。本课不讲如何让模型写更漂亮的代码,只讲执行环境、权限、恢复和上线验收。 2、先做威胁模型 资产包括源代码、用户文件、云凭证、生产网络和发布权限;攻击入口包括用户消息、仓库内容、网页、依赖包、MCP 返回和命令输出。 Prompt injection 不是靠一句 system prompt 解决...
学习
AI2026-09-01
LangChain 01:全景、原理与学习路线
1、本篇学完要得到什么 这一篇只解决三个问题:LangChain 到底负责什么;它与 LangGraph、Deep Agents、LangSmith 是什么关系;后面应按什么顺序学习。 贯穿整套课程的项目是“退款政策与订单助手”。它最终能够:回答知识库中的退款规则;查询当前用户的订单;生成结构化答复;对真正的退款操作进行人工审批;断线后恢复;通过评测后发布。 先记住一句话: 模型负责理解与生成,应用负责数据、权限、状态和副作用。 如果把...
学习
AI2026-09-01
LangChain 02:模型、消息与结构化输出
1、本篇任务:让模型输出成为程序可以依赖的合同 上一课只证明 Agent 能运行。本课暂时不接业务工具,只完成一个“客服分诊器”:输入用户问题,输出意图、紧急程度、是否需要人工和给用户的答复。 本课的核心不是学更多模型参数,而是理解三层合同:消息决定模型看到了什么;schema 决定程序期待什么;业务校验决定结果是否真的可用。 2、消息不是一段字符串,而是一条执行记录 一次工具型对话通常包含四种消息: | 类型 | 由谁产生 | 作用...
学习

评论

请登录后发表评论

去登录
加载评论中...