5

我在一个 VOIP 应用程序上工作。我使用 Core Audio 音频单元来播放和录制音频。我需要能够操纵音量和输出设备。我正在尝试使用 MPVolumeView 设置音量并选择输出设备。

我的问题是:当我开始使用(开始播放和捕获 RemoteIO 音频单元)音频单元时,似乎 MPVolumeView 不再控制我的会话音量,而是控制系统范围的声音首选项。同时硬件按钮控制音频单元播放的声音音量。此外,当我开始使用音频单元 MPVolumeView 开始显示按钮以更改输出设备但在此之前它没有。

似乎 MPVolumeView 控制某些系统范围的音频会话的音量,但是当我开始使用音频单元时,会创建另一个应用程序范围(甚至音频单元范围)的音频会话并用于播放声音。

所以问题是如何让 MPVolumeView 控制我的 Core Audio 音频会话的音量?

我会很感激任何关于为什么会发生这种情况的提示。我几乎整天都在谷歌上搜索,我看到有些人有相关的问题,但没有人得到任何提示:(。如果需要,我也可以发布更多细节。

4

1 回答 1

2

Apple工程师确认为错误。

更详细地说 - MPVolumeView 应该绑定到特定的音频路由(更广泛地说,如音频路由 + 音频类别 + 模式等),它适用于几个最常见的路由(例如耳机 + 播放类别 + 默认模式) 但不适用于您可以创建的所有自定义路线。

所以基本上当一个人创建一些自定义路由 MPVolumeView 仍然试图控制它的最后一个(可行的)或默认路由。

于 2016-07-28T14:32:05.683 回答