javascript - 如何将音频 blob 拆分为更小的音频 blob 并使每个 blob 可播放
问题描述
我正在使用MediaRecorder
api 来录制音频。用户可以触发一个事件,该事件将依次调用该MediaRecorder.requestData
方法。我遇到的问题是只有第一个 Blob 是可玩的,我需要所有 Blob 都是可玩的。
我在 W3 规范中读到这是预期的功能:
UA 必须以这样一种方式记录流,以便在播放时可以检索到原始音轨。当返回多个 Blob 时(由于时间片或 requestData()),单个 Blob 不必是可播放的,但来自已完成录制的所有 Blob 的组合必须是可播放的。
我想知道 Blob 对象中实际上缺少哪些数据,我是否可以手动附加丢失的数据以使 Blob 可播放。
我无法创建新MediaRecorder
实例,因为在创建新实例并开始录制时它可能会错过用户的录制,我需要能够在服务器中存储单个音频文件。
总而言之,我需要能够将单个音频 Blob 拆分为多个 Blob,并手动插入使每个 Blob 可播放所需的数据,然后将所有 Blob 重新组合成一个 Blob 并重新上传到服务器。
谢谢
解决方案
推荐阅读
- excel - 我是 VBA 新手,无法在新工作表上正确写入数据
- typescript - 打字稿映射接口
- xamarin - 找不到类型或命名空间 IUIWindowSceneDelegate、UIScene、UISceneSession、UISceneConnectionOptions
- reactjs - 使用 redux 发送错误不起作用
- c# - 从电子邮件中获取 AD 组名称
- c# - 配置为空
- javascript - 使用 JavaScript 或 jQuery 显示/隐藏块
- android - 在 cocos2dx 中找不到 project.android-studio
- java - 如何仅使用 LocalDate 检查每个月的 13 日是否是星期五?
- tensorflow - Tensorflow 问题中的对象检测代码 - AttributeError: module 'tensorflow' has no attribute 'gfile'