如何解决IOS:AudioUnit RemoteIO 采样率自动转换
我正在使用 RemoteIO 音频单元将音频输出到硬件。我的主要问题是我的音频处理现在只允许 44.1kHz 输出。我听说像 iPhone 11 这样的新 iPhone 以 48kHz 的频率运行。这意味着我的渲染输出将与硬件配置不匹配。
这是我为 remoteIO 设置 ASBD 的方法。
AudioStreamBasicDescription const audioDescription = {
.mSampleRate = 44100,.mFormatID = kAudioFormatLinearPCM,.mFormatFlags = kAudioFormatFlagIsFloat,.mBytesPerPacket = STEREO_CHANNEL * sizeof(float),.mFramesPerPacket = 1,.mBytesPerFrame = STEREO_CHANNEL * sizeof(float),.mChannelsPerFrame = STEREO_CHANNEL,.mBitsPerChannel = 8 * sizeof(float),.mReserved = 0
};
status = AudioUnitSetProperty(audioUnit,kAudioUnitProperty_StreamFormat,kAudioUnitScope_Input,kOutputBus,&audioDescription,sizeof(audioDescription));
I saw here 您可以以某种方式配置 RemoteIO 以使用指定的采样率。我认为这意味着我可以以 44.1khz 运行我的应用程序,RemoteIO 将为我完成转换。
有没有办法将 RemoteIO 配置为在我渲染音频的一端使用固定采样率,并在我使用的采样率与硬件采样率之间存在不匹配时让它进行采样率转换?
附注:我的 IOS 模拟器正常运行在 44100,我没有 iPhone,所以我无法用真实设备进行测试。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。