Core Audio(音频单元)音频会话和 MPVolumeView
Posted
技术标签:
【中文标题】Core Audio(音频单元)音频会话和 MPVolumeView【英文标题】:Core Audio (Audio Units) audio session and MPVolumeView 【发布时间】:2013-10-11 15:08:07 【问题描述】:我在开发一个 VOIP 应用程序。 我使用 Core Audio 音频单元来播放和录制音频。我需要能够操纵音量和输出设备。我正在尝试使用 MPVolumeView 设置音量并选择输出设备。
我的问题是:当我开始使用(开始播放和捕获 RemoteIO 音频单元)音频单元时,似乎 MPVolumeView 不再控制我的会话音量,而是控制系统范围的声音首选项。同时硬件按钮控制音频单元播放的声音音量。此外,当我开始使用音频单元 MPVolumeView 开始显示按钮以更改输出设备但在此之前它没有。
似乎 MPVolumeView 控制某些系统范围的音频会话的音量,但是当我开始使用音频单元时,会创建另一个应用范围(甚至音频单元范围)的音频会话并用于播放声音。
所以问题是如何让 MPVolumeView 控制我的 Core Audio 音频会话的音量?
我会很感激任何关于为什么会发生这种情况的提示。我几乎整天都在谷歌上搜索,我看到有些人有相关的问题,但没有人得到任何提示:(。如果需要,我也可以发布更多细节。
【问题讨论】:
好吧,这似乎是 ios 错误。我已经向 Apple 提交了一份错误报告,他们甚至回复我说这是某人的错误的“重复”。所以我仍在等待他们方面的任何解决方案。同时,如果有人能指出一些解决方法,我将不胜感激。 【参考方案1】:已被 Apple 工程师确认为错误。
更多细节 - MPVolumeView 应该绑定到特定的音频路由(更广泛地说,如音频路由 + 音频类别 + 模式等),它适用于几个最常见的路由(例如耳机 + 播放类别+ 默认模式)但不是您可以创建的所有自定义路由。
所以基本上当一个人创建一些自定义路由时,MPVolumeView 仍然试图控制它的最后一个(可行的)或默认路由。
【讨论】:
最好有问题 ID 供参考。以上是关于Core Audio(音频单元)音频会话和 MPVolumeView的主要内容,如果未能解决你的问题,请参考以下文章
带有 Core Audio AudioQueue 的 AVFoundation 会话
iOS:音频单元 vs OpenAL vs Core Audio