You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iPhone 14使用MediaRecorder无法正常录制音频的问题求助

iPhone 14 音频录制异常问题排查求助

我们的网站提供音频录制及回放功能,多年来兼容各类设备,但在iPhone 14上出现故障。搭建的测试应用在其他设备上运行正常,但在iPhone 14上仅首次录制可用,后续无法录制;若先触发其他AudioContext操作,首次录制也会失效。

具体现象

  • 点击“new recording”,电平指示器动,触发data available回调;
  • 点击“listen”可正常回放;
  • 再次点击“new recording”,无电平变化,无数据上报;
  • 点击“listen”无声音;
  • 若先操作节拍器,首次录制也会失败。

原实现与尝试的修改

原录制方式使用已废弃的createMediaStreamSource()和createScriptProcessor()/createJavaScriptNode()方法,推测iPhone 14不再支持,于是改用MediaRecorder实现,核心代码如下:

const chunks = []
function onSuccess(stream) {
  mediaRecorder = new MediaRecorder(stream);
  mediaRecorder.ondataavailable = function (e) {
    chunks.push(e.data);
  }
  mediaRecorder.start(1000);
}
navigator.mediaDevices.getUserMedia({ audio: true }).then(onSuccess, onError);

求助内容

  • 是否有人遇到iPhone 14录制音频的异常情况?
  • 有哪些排查建议?
  • 若您有iPhone 14,能否测试该应用并反馈结果?(正常录制时每秒会显示类似data {"len":6784}的日志)

编辑
按照建议修改代码后可录制,但音量极低、存在丢包,且恢复AudioContext时卡顿严重,其他设备及浏览器无此问题。


编辑2
问题已明确为两点:一是废弃的createScriptProcessor不再可用,二是iOS 16.2已修复的系统Bug,需改用AudioWorklet实现。


内容的提问来源于stack exchange,提问作者Paulie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 14:41:31