AVAudioUnit 的 OC/Swift 的 API, 但 AudioUnit 依然有很广泛的使用, 而且了解这套 C API 也对理解 AVAudioUnit 内部的实现和使用有很大的帮助....这么看是不是上面我们自己设计的很类似? 只是苹果用新增了 Element 和 Scope 的概念. 虽然看着两个 Bus 是一体的, 其实 Element 0 和 1 是可以独立使用的....他们的区别有以下几点:
Remote IO (媒体音量) 下因为没有做回声消除和降噪, 所以音质非常好, 适合播放音乐等高音质的场景. 音量条可以向下调整到 0....音量调最小只能设置到 1 格, 无法调整到 0 格, 也可以根据这个特点判断当前属于哪种模式....这里主要介绍 Remote IO, VPIO 很类似, 这里不多做介绍, 感兴趣的可以查看对应的 API 即可.
接下来我们来实战一下了.
4. 如何从 IO Unit 获取采集到的数据?