有没有办法以编程方式获取iOS中音频单元的所有参数?

萨尔达·冯·施瓦茨

AUParamInfo()在iOS7框架(CoreAudio,AudioUnit,AudioToolbox)中似乎不存在。我想知道如何获取单元的所有参数。也就是说,在不知道单元是什么类型或子类型的情况下,因为如果没有,答案是在“音频单元参数参考”中查找。

萨尔达·冯·施瓦茨

Greg的答案是正确的,因为kAudioUnitProperty_ParameterList是正确的属性ID,可以查询该属性ID以最终获取单元的所有参数。但是,获取所有参数的方式会涉及更多:

  1. 使用AudioUnitGetPropertyInfo,看是否该属性是可用的,如果是,找回它的数据量(数据大小为整个信息这可能是一个集合,而不是一个单一的元素任何类型的属性,你介意)。
  2. 使用AudioUnitGetProperty适当的属性将其取回。同样,在这一点上,如果返回的属性是元素的集合而不是单个元素,则必须AudioUnitGetProperty为每个元素调用一次。具体来说,您将其称为“dataSize / sizeof(TypeToHoldSingleInstanceOfYourProperty)时间”。

    //  Get number of parameters in this unit (size in bytes really):
    UInt32 parameterListSize = 0;
    AudioUnitGetPropertyInfo(_audioUnit, kAudioUnitProperty_ParameterList, kAudioUnitScope_Global, 0, &parameterListSize, NULL);
    
    //  Get ids for the parameters:
    AudioUnitParameterID *parameterIDs = malloc(parameterListSize);
    AudioUnitGetProperty(_audioUnit, kAudioUnitProperty_ParameterList, kAudioUnitScope_Global, 0, parameterIDs, &parameterListSize);
    
    AudioUnitParameterInfo parameterInfo_t;
    UInt32 parameterInfoSize = sizeof(AudioUnitParameterInfo);
    UInt32 parametersCount = parameterListSize / sizeof(AudioUnitParameterID);
    for(UInt32 pIndex = 0; pIndex < parametersCount; pIndex++){
        AudioUnitGetProperty(_audioUnit, kAudioUnitProperty_ParameterInfo, kAudioUnitScope_Global, parameterIDs[pIndex], &parameterInfo_t, &parameterInfoSize);
        // do whatever you want with each parameter...
    }
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有办法以编程方式列出AWS服务的所有可用操作?

来自分类Dev

有没有办法以编程方式添加用户?

来自分类Dev

有没有办法以编程方式获取Rally API的当前版本?

来自分类Dev

有没有办法获取应用列表并以编程方式运行它?

来自分类Dev

有没有办法以编程方式在给定应用程序中定位所有Windows?

来自分类Dev

有没有办法在Android中以编程方式获取最后一次通话的COST信息

来自分类Dev

有没有办法以编程方式在iPhone上获取某种SIM卡标识符?

来自分类Dev

有没有办法标记音频文件

来自分类Dev

有没有办法在Linux中使用C以编程方式设置接口MTU?

来自分类Dev

有没有办法以编程方式知道闪亮是否正在运行?

来自分类Dev

有没有办法从6502的操作码中以编程方式确定寻址模式?

来自分类Dev

有没有办法以编程方式导出/保存生成的javascript和css包?

来自分类Dev

有没有办法在Swift中以编程方式设置NSCollectionView?

来自分类Dev

Javascript d3:有没有办法以编程方式停止拖动项目?

来自分类Dev

有没有办法在sbt中以编程方式调用“重新加载”?

来自分类Dev

有没有办法以编程方式设置断点(例如,当调用命名函数时)?

来自分类Dev

XAMARIN(C#)-有没有办法以编程方式在TextView下划线?

来自分类Dev

有没有办法在OSX中以编程方式关闭电池充电?

来自分类Dev

有没有办法以编程方式编辑Office 365 Excel文档?

来自分类Dev

有没有办法以编程方式缩短到共享OneDrive文件的链接?

来自分类Dev

有没有办法以编程方式将标签添加到TFS工作项?

来自分类Dev

有没有办法从dfm以编程方式加载表单

来自分类Dev

有没有办法以编程方式更新帧(Swift)

来自分类Dev

有没有办法在Entity Framework Core中以编程方式检查未决模型更改?

来自分类Dev

有没有办法以编程方式创建非常相似的类属性?

来自分类Dev

有没有办法以编程方式删除ActiveMQ作业计划?

来自分类Dev

有没有办法以编程方式知道闪亮是否正在运行?

来自分类Dev

有没有办法以编程方式随机设置芯片背景颜色?

来自分类Dev

有没有办法在Android中以编程方式在图像上创建渐变?

Related 相关文章

  1. 1

    有没有办法以编程方式列出AWS服务的所有可用操作?

  2. 2

    有没有办法以编程方式添加用户?

  3. 3

    有没有办法以编程方式获取Rally API的当前版本?

  4. 4

    有没有办法获取应用列表并以编程方式运行它?

  5. 5

    有没有办法以编程方式在给定应用程序中定位所有Windows?

  6. 6

    有没有办法在Android中以编程方式获取最后一次通话的COST信息

  7. 7

    有没有办法以编程方式在iPhone上获取某种SIM卡标识符?

  8. 8

    有没有办法标记音频文件

  9. 9

    有没有办法在Linux中使用C以编程方式设置接口MTU?

  10. 10

    有没有办法以编程方式知道闪亮是否正在运行?

  11. 11

    有没有办法从6502的操作码中以编程方式确定寻址模式?

  12. 12

    有没有办法以编程方式导出/保存生成的javascript和css包?

  13. 13

    有没有办法在Swift中以编程方式设置NSCollectionView?

  14. 14

    Javascript d3:有没有办法以编程方式停止拖动项目?

  15. 15

    有没有办法在sbt中以编程方式调用“重新加载”?

  16. 16

    有没有办法以编程方式设置断点(例如,当调用命名函数时)?

  17. 17

    XAMARIN(C#)-有没有办法以编程方式在TextView下划线?

  18. 18

    有没有办法在OSX中以编程方式关闭电池充电?

  19. 19

    有没有办法以编程方式编辑Office 365 Excel文档?

  20. 20

    有没有办法以编程方式缩短到共享OneDrive文件的链接?

  21. 21

    有没有办法以编程方式将标签添加到TFS工作项?

  22. 22

    有没有办法从dfm以编程方式加载表单

  23. 23

    有没有办法以编程方式更新帧(Swift)

  24. 24

    有没有办法在Entity Framework Core中以编程方式检查未决模型更改?

  25. 25

    有没有办法以编程方式创建非常相似的类属性?

  26. 26

    有没有办法以编程方式删除ActiveMQ作业计划?

  27. 27

    有没有办法以编程方式知道闪亮是否正在运行?

  28. 28

    有没有办法以编程方式随机设置芯片背景颜色?

  29. 29

    有没有办法在Android中以编程方式在图像上创建渐变?

热门标签

归档