通过 Objective-C 控制 Mac OS X 中正在运行的应用程序的音量
请通过 Objective-C 代码片段和有用链接提供有关如何控制 OS X 中输出的所有音频信号的建议?
我认为它应该类似于 OS X 逻辑层中的代理层。
谢谢你!
Please edvice by objective-c code snippets and useful links of how can I control all audio signals of output in OS X?
I think it should be something like proxy layer somewhere in OS X logic layers.
Thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有点遗憾的是没有简单的 API 可以做到这一点。幸运的是,它并不难,只是冗长。
首先,获取系统输出设备:
然后设置音量:
显然我省略了任何错误检查,这是必须的。
事情可能会变得有点棘手,因为并非所有设备都支持通道 0(主通道)。如果您的设备出现这种情况(很可能是这样),您有两个选择:查询设备的首选立体声对并单独设置这些通道的音量,或者仅设置通道 1 和 2 的音量。
It's somewhat sad that there is no simple API to do this. Luckily it isn't too hard, just verbose.
First, get the system output device:
Then set the volume:
Obviously I've omitted any error checking, which is a must.
Things can get a bit tricky because not all devices support channel 0 (the master channel). If this is the case with your device (it probably is) you have two options: query the device for its preferred stereo pair and set the volume on those channels individually, or just set the volume on channels 1 and 2.