如何更改 Objective-C 中的音频输出设备?
Posted
技术标签:
【中文标题】如何更改 Objective-C 中的音频输出设备?【英文标题】:How can I change the audio output device in Objective-C? 【发布时间】:2010-01-16 02:38:10 【问题描述】:我正在构建一个简单的 Cocoa 应用程序,我想将音频输出定向到特定设备,而不是系统选择的设备。我知道一些应用程序,比如 Skype,可以让你选择将输出发送到哪里。他们是怎么做到的?
我尝试了 MTCoreAudio 框架,但我什至无法编译包含它的应用程序(或他们的 AudioMonitor 演示),并且错误没有帮助 (_objc_fatal)。有没有完整的例子可以借鉴?到目前为止,我的搜索还没有出现任何结果。
谢谢!
【问题讨论】:
【参考方案1】:Mac Dev Center Sample Code library 上的CAPlayThrough example 显示如何列出所有可用的输入和输出设备,并从菜单中选择默认设备。
【讨论】:
【参考方案2】:你看过http://developer.apple.com上的示例代码吗?
看看这些项目http://developer.apple.com/mac/library/navigation/index.html?section=Resource+Types&topic=Sample+Code
即 DefaultAudioUnit 项目。
我应该说使用 Core Audio 比使用 Cocoa 更具挑战性。大多数 API 都是基于 C 的(我觉得这更难)。您还应该阅读 Core Audio 编程指南,以了解音频系统是如何组合在一起的。
【讨论】:
我认为您的意思是 DefaultOutputUnit 示例。以上是关于如何更改 Objective-C 中的音频输出设备?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 7 中更改音频输出设备的默认共享模式采样率?