如何在 AVCaptureSession 上设置音频采样率?

Posted

技术标签:

【中文标题】如何在 AVCaptureSession 上设置音频采样率?【英文标题】:How to set audio sample rate on AVCaptureSession? 【发布时间】:2012-07-22 20:06:27 【问题描述】:

我正在使用 AVCaptureSession 将视频和音频录制到使用 AVCaptureVideoDataOutputAVCaptureAudioDataOutput 的样本缓冲区中。

iPhone(4 和 4S)的默认音频采样率为 44100Hz。我想将此设置为 48000Hz,但 AVCaptureSession 似乎没有任何音频采样率设置。

我曾尝试使用 AVAudioSession 更改硬件采样率(使用 setPreferredHardwareSampleRate),但尽管它报告硬件采样率已更改(激活会话后),但这并不影响实际采样率我在 AVCaptureAudioDataOutput 的示例委托中获取的示例。

有没有办法从 AVCaptureSession 本身设置音频采样率?

【问题讨论】:

有同样的问题。你找到解决办法了吗? 不。我最终编写了自己的代码来重新采样软件中的数据缓冲区。我必须在设备上执行此操作,但如果您正在流式传输,这可能最好在服务器端完成。 【参考方案1】:

根据 Apple 的支持,在 ios 5 中无法做到这一点。他们建议可能会在以后的版本中添加此功能,甚至可能是 6。

【讨论】:

以上是关于如何在 AVCaptureSession 上设置音频采样率?的主要内容,如果未能解决你的问题,请参考以下文章

iOS:如何在 AVCaptureSession 上激活图像稳定功能?

设置 AVCaptureSession 时 availableMetadataObjectTypes 中的空数组 [重复]

AVCaptureSession 获得与 iPhone 内置摄像头相同的设置

抖音怎么小窗口播放

从同一个 AVCaptureSession 拍摄视频和照片时应用程序崩溃?

如何以编程方式在 iphone 中将音乐文件设置为通话音和消息音