【问题标题】:How to replace the deprecated AudioUnitSampleType on iOS (Audio Units)?如何在 iOS(音频单元)上替换已弃用的 AudioUnitSampleType?
【发布时间】:2015-07-17 03:35:25
【问题描述】:

我一直在研究 iOS 的音频单元托管指南,然后尝试使用提供的示例项目。但是,所有这些项目都在使用已弃用的 AudioUnitSampleType(这似乎是一个简单的 typedef)。这可能是一个菜鸟问题,但我该如何改变它呢? 据我了解,我应该根据目标 iOS 版本将其替换为不同的类型(SInt16 或 Float)(当然,我希望尽可能多地定位)。那么我应该只写一堆#ifndef 还是我遗漏了什么?

【问题讨论】:

    标签: ios objective-c core-audio audiounit


    【解决方案1】:

    您应该获取每个音频单元的 kAudioUnitProperty_StreamFormat 属性,而不是猜测/ifdef,并在该 iOS 版本下使用该音频单元的本机格式。对于任何最近的 iOS 设备上的任何最近的 iOS 版本,最有可能的 4 字节浮点数,就像所有最近的 Apple A?处理器使用浮点数进行算术运算的速度与使用 SInt16 或 SInt32 数据一样快或更快。

    【讨论】:

    • 感谢您的回答,不胜感激。所以要明确一点——为了动态配置要使用的正确格式,我需要声明不同的结构,每个结构都是为特定类型(SInt16 或 Float32)设计的,然后根据 kAudioUnitProperty_StreamFormat 做出决定我正在处理的财产。对吗?
    • 在进行所有这些工作之前,请检查您是否有任何 iOS 测试设备不使用浮点流格式进行报告。
    猜你喜欢
    • 1970-01-01
    • 2013-09-25
    • 2013-09-24
    • 2021-09-03
    • 2016-06-04
    • 2020-02-27
    • 2015-06-18
    • 1970-01-01
    • 2015-03-06
    相关资源
    最近更新 更多