AudioUnit框架详细解析(九) —— 音频单元提供快速的模块化音频处理之使用参数和UIKit为用户提供控制(六)

版本记录

版本号 时间
V1.0 2018.06.25

前言

AudioUnit框架作为您的应用程序添加复杂的音频操作和处理功能。 创建在主机应用程序中生成或修改音频的音频单元扩展。接下来几篇我们就一起看一下这个框架,感兴趣的看上面几篇文章。
1. AudioUnit框架详细解析(一) —— 基本概览
2. AudioUnit框架详细解析(二) —— 关于Audio Unit Hosting之概览(一)
3. AudioUnit框架详细解析(三) —— 关于Audio Unit Hosting之如何使用本文档和参考资料(二)
4. AudioUnit框架详细解析(四) —— 音频单元提供快速的模块化音频处理之iOS中的Audio Units(一)
5. AudioUnit框架详细解析(五) —— 音频单元提供快速的模块化音频处理之在Concert中使用两个音频单元API(二)
6. AudioUnit框架详细解析(六) —— 音频单元提供快速的模块化音频处理之使用标识符来指定和获取音频单元(三)
7. AudioUnit框架详细解析(七) —— 音频单元提供快速的模块化音频处理之使用范围和元素来指定音频单元的部分(四)
8. AudioUnit框架详细解析(八) —— 音频单元提供快速的模块化音频处理之使用属性来配置音频单元(五)

Use Parameters and UIKit to Give Users Control - 使用参数和UIKit为用户提供控制

音频单元参数audio unit parameter是用户可调整的设置,可以在音频单元生成音频时更改。事实上,大多数参数(例如音量或立体声声相位置)的目的是实时调整音频单元正在执行的处理。

与音频单元属性一样,音频单元参数是键值对。key由其适用的音频单元定义。它总是一个枚举常量,如kMultiChannelMixerParam_Pan = 2,它对于音频单元是唯一的,但不是全局唯一的。

与属性值不同,每个参数值都是相同的类型:32位浮点。值的允许范围及其表示的度量单位由音频单元实施该参数确定。Audio Unit Parameters Reference中介绍了iOS音频单元中这些参数和其他参数。

要获取或设置参数值,请使用以下函数之一,这些函数在Audio Unit Component Services Reference中有完整描述:

  • AudioUnitGetParameter
  • AudioUnitSetParameter

为了允许用户控制音频单元,可以通过用户界面访问其参数。 首先从UIKit框架中选择一个合适的类来表示参数。 例如,对于开/关功能,例如多通道混音器单元的kMultiChannelMixerParam_Enable参数,您可以使用UISwitch对象。 对于连续变化的功能,例如由kMultiChannelMixerParam_Pan参数提供的立体声平移位置,您可以使用UISlider对象。

UIKit对象当前配置的值(例如UISlider的滑块的位置)传递给音频单元。 通过将AudioUnitSetParameter函数包装在IBAction方法中并在Interface Builder中建立所需的连接来完成此操作。 有关演示如何执行此操作的示例代码,请参阅示例代码项目Audio Mixer (MixerHost)

后记

本篇主要讲述了使用参数和UIKit为用户提供控制,感兴趣的给个赞或者关注~~~~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容