音频

AudioUnit框架详细解析(二十五) —— 使用混音器单元、

2018-07-06  本文已影响277人  刀客传奇

版本记录

版本号 时间
V1.0 2018.07.06

前言

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框架详细解析(八) —— 音频单元提供快速的模块化音频处理之使用属性来配置音频单元(五)
9. AudioUnit框架详细解析(九) —— 音频单元提供快速的模块化音频处理之使用参数和UIKit为用户提供控制(六)
10. AudioUnit框架详细解析(十) —— 音频单元提供快速的模块化音频处理之I / O单元的基本特性(七)
11. AudioUnit框架详细解析(十一) —— 音频处理图管理音频单元之音频处理图具有一个I / O单元(一)
12. AudioUnit框架详细解析(十二) —— 音频处理图管理音频单元之音频处理图提供线程安全性(二)
13. AudioUnit框架详细解析(十三) —— 音频处理图管理音频单元之音频使用Pull通过图表(三)
14. AudioUnit框架详细解析(十四) —— 呈现回调函数将音频馈送到音频单元之了解音频单元呈现回调函数(一)
15. AudioUnit框架详细解析(十五) —— 音频流格式启用数据流之使用AudioStreamBasicDescription结构(一)
16. AudioUnit框架详细解析(十六) —— 音频流格式启用数据流之了解何处以及如何设置流格式(二)
17. AudioUnit框架详细解析(十七) —— 从选择设计模式开始之I / O传递(一)
18. AudioUnit框架详细解析(十八) —— 从选择设计模式开始之没有渲染回调函数的I / O(二)
19. AudioUnit框架详细解析(十九) —— 从选择设计模式开始之具有渲染回调函数的I / O(三)
20. AudioUnit框架详细解析(二十) —— 从选择设计模式开始之仅具有渲染回调函数的输出(四)
21. AudioUnit框架详细解析(二十一) —— 从选择设计模式开始之其他音频单元Hosting设计模式(五)
22. AudioUnit框架详细解析(二十二) —— 构建您的应用程序(一)
23. AudioUnit框架详细解析(二十三) —— 故障排除提示(一)
24. AudioUnit框架详细解析(二十四) —— 使用 I/O单元(一)

Using Mixer Units - 使用混音器单元

iOS提供两个混音器单元。 在大多数情况下,您应该使用多声道混音器单元Multichannel Mixer unit,它可以为任意数量的单声道或立体声流提供混音。 如果您需要3D混音器单元3D Mixer unit的功能,您很可能会使用OpenALOpenAL建立在3D Mixer单元之上,提供与简单API相同的性能,非常适合游戏应用程序开发。

1. Multichannel Mixer Unit - 多声道混音器单元

多声道混音器单元(子类型kAudioUnitSubType_MultiChannelMixer)可接收任意数量的单声道或立体声流,并将它们组合成单个立体声输出。 它控制每个输入和输出的音频增益,并允许您分别打开或关闭每个输入。 从iOS 4.0开始,多声道混音器支持每个输入的立体声声像。

有关演示如何使用此音频单元的示例代码,请参阅示例代码项目Audio Mixer(MixerHost)。 表3-2提供了此音频单元的使用详细信息。

Table 3-2 Using the Multichannel Mixer unit

2. 3D Mixer Unit - 3D混音器单元

3D混音器单元(子类型kAudioUnitSubType_3DMixer)控制每个输入的立体声声像,回放速度和增益,并控制其他特征,例如与收听者的视距。 输出具有音频增益控制。 要了解此音频单元可以执行的操作,请想下iOS中的OpenAL就是使用它实现的。

在大多数情况下,如果您需要3D混音器单元的功能,最佳选择是使用OpenAL。 有关演示如何使用OpenAL的示例代码,请参阅示例代码项目oalTouch

表3-3提供了此音频单元的使用详细信息。

Table 3-3 Using the 3D Mixer unit


Using Effect Units - 使用效果单元

iPod EQ单元(子类型kAudioUnitSubType_AUiPodEQ)是iOS 4中提供的唯一效果单元。这与内置iPod应用程序使用的均衡器相同。 要查看此音频单元的iPod应用程序用户界面,请转至Settings> iPod> EQ。 该音频单元提供一组预设均衡曲线,如低音增强器,流行音乐和口语(Bass Booster, Pop, and Spoken Word)。

您必须为iPod EQ单元提供自己的用户界面,就像您必须为任何音频单元一样。iPhoneMixerEQGraphTest示例代码项目演示了如何使用iPod EQ单元并显示了一种为其提供用户界面的方法。

表3-4提供了此音频单元的使用详细信息

Table 3-4 Using the iPod EQ unit


Identifier Keys for Audio Units - 音频单元的标识符键

此表提供了访问每个iOS音频单元的动态链接库所需的标识符键,以及音频单元的简要说明。

Table 3-5 Identifier keys for accessing the dynamically-linkable libraries for each iOS audio unit

后记

本篇主要讲述了使用混音器单元、使用效果单元 和音频单元的标识符键,感兴趣的给个赞或者关注~~~~

上一篇下一篇

猜你喜欢

热点阅读