objective-c - 如何在 OS X 中以编程方式创建多输出设备?

标签 objective-c macos audio core-audio

如何在 Mac OS X 中以编程方式创建多输出设备?

Audio Midi Setup 程序提供了一个用于创建的 GUI 界面,但我希望能够在代码中创建一个。

我已经找到了一些用于创建聚合设备的资源,但是多输出设备的功能不同,我找不到任何关于创建它们的信息。到目前为止,这是我得到的:

最佳答案

我同样需要以编程方式创建多输出设备。 这个例子:http://daveaddey.com/?p=51满足需求。

我通过研究/Library/Preferences/Audio/com.apple.audio.SystemSettings.plist 设法做到了。这是音频 MIDI 设置保存配置的地方(在我的盒子 El Capitan 上)。

创建一个多输出设备和一个聚合设备并研究 plist。它们几乎相同,只是聚合设备有一个主设备,而 MOD 没有。

考虑 Dave Addey 的示例: 我个人通过删除主设备并添加我自己的设备作为输出来设法创建 MOD。 (在我的例子中,Soundflower 和默认输出)

除此之外,将“stacked” bool 键添加到 CF 字典中。根据 CoreAudio 消息来源,此键确保将相同的输出发送到所有输出 channel ,而不是未堆叠的聚合设备,并将多个设备组合在一起,使其“看起来”为具有多个 channel 的单个设备.

希望这对您有所帮助。

关于objective-c - 如何在 OS X 中以编程方式创建多输出设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35469569/

相关文章:

swift - keyDown 事件不适用于 shift 键且仅适用于 shift 键

ios - 获取系统音量 iOS

iphone - 多次按下时声音重叠

objective-c - 使用 oAuth 添加 Twitpic 功能

objective-c - WebView 中的 OSX OAuth redirect_uri

ios - 呈现后模糊 View Controller 变暗

macos - 用于在登录时为用户创建文件夹并设置访问权限的 bash 脚本

xcode - 在较早的osx版本中,从xcassets加载带有imageNamed的NSImage会崩溃

javascript - 当 React 组件中的音频元素 src 属性发生更改并且在 linux 上重新加载窗口时,Electron 变为空白

ios - iOS模拟器中图像不稳定