javascript - 在 Chrome 上用 JavaScript 录制音频,总是将视频/ogg 发送到服务器
问题描述
我一直在尝试在 Chrome 上以 OGG 格式录制音频并将其发送回服务器,但它总是以视频/ogg 格式获取它们。这是我所拥有的:
捕获音频:
let chunks = [];
let recording = null;
let mediaRecorder = new MediaRecorder(stream);
mediaRecorder.start();
mediaRecorder.onstop = function() {
recording = new Blob(chunks, { 'type' : 'audio/ogg; codecs=opus' });
}
mediaRecorder.ondataavailable = function(e){
chunks.push(e.data);
}
将其发送到服务器:
let data = new FormData();
data.append('audio', recording);
jQuery.ajax(...);
blob 到达后端,但总是在视频/ogg 中!
解决方案
我最终使用了kbumsik/opus-media-recorder,为我解决了这个问题。MediaRecorder 的直接替代品。
推荐阅读
- c - 根据加速度计和陀螺仪值计算的当前角度偏移新角度
- pandas - 如何根据 datediff 为一天的日期合并两个数据框?
- javascript - 在 express res.send() 中合并各种后端请求
- django - Ajax: SyntaxError: Unexpected token < in JSON at position 2
- r - 忽略导入中存在解析错误的文件 (read_csv)
- scylla - scylla compile 过程中遇到的问题
- java - 点击按钮不允许添加点击次数
- firebase - 如何使用 HTTP 请求将嵌套数据发布到 firebase firestore?
- php - WooCommerce 订阅 - 根据变体 ID 更改新订阅的下一个账单日期
- python - Python:搜索特定文件类型的目录和子目录