为啥音频单元在带闪电插头的耳机下每帧收集 940 字节

Posted

技术标签:

【中文标题】为啥音频单元在带闪电插头的耳机下每帧收集 940 字节【英文标题】:Why the AudioUnit collect 940bytes per frame under the earphone with lightning plug为什么音频单元在带闪电插头的耳机下每帧收集 940 字节 【发布时间】:2019-09-09 08:01:53 【问题描述】:

我是一名来自中国的 ios 开发者,我基于 AudioUnit 开发了一个录音应用程序。当我在我的 iPhone6s 上使用 3.5 毫米插头耳机进行测试时,它的措辞很好,每帧收集了 1024 字节。但是当我在那些没有 3.5mm 插头的 iPhone 上测试它时,AudioUnit 每帧收集了 940 字节并报错。

我尝试在我的 iPhone 6s 上使用闪电插头耳机测试我的应用程序,它也运行良好。

【问题讨论】:

【参考方案1】:

远程 iOS 音频单元可以根据所请求的持续时间更改回调中数据的大小,具体取决于操作系统状态和使用的音频硬件。

回调缓冲区中 1024 和 940 样本之间的差异通常意味着音频单元正在将数据从 48000 的采样率重新采样到 44100 sps 的采样率。发生这种情况的原因是不同 iPhone 型号的硬件采样率不同(较新的型号为 48000,早期型号为 44100),并且您的应用请求的采样率可能与设备硬件采样率不同。

【讨论】:

以上是关于为啥音频单元在带闪电插头的耳机下每帧收集 940 字节的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu Linux下怎样同时对麦克风及系统声音进行录音

四条线的耳机怎么接

耳机线换插头有四根线,怎么接?

耳机线换插头有四根线,怎么接?

四芯耳机插头怎么接线的

手机耳机播放没声音怎么办