【问题标题】:How to get audio ducking in OSX?如何在 OSX 中获得音频闪避?
【发布时间】:2014-04-03 21:24:32
【问题描述】:

我正在为 OSX 开发一个 VoIP 应用程序,并且我想在通话时支持除我之外的所有其他应用程序的音频闪避。

对于 iOS,AVAudioSession 可以很好地处理这个问题,但我似乎无法为 OSX 找到一个优雅的解决方案。现在,我正在使用 AudioQueue 来渲染音频,它与来自所有其他正在运行的应用程序的音频混合在一起。理想情况下,我想降低所有其他音频,直到挂断电话,然后再提高所有其他音频。

【问题讨论】:

  • 我认为这在 OS X 上是不可行的;没有一种好的方法可以控制从其他应用进入设备的音频
  • 我也找不到答案,但我知道这是可能的,因为 Skype 正在这样做。随着 iTunes 的播放,我拨打了一个 Skype 测试电话,iTunes 音乐很好地降低了音量,直到通话结束。
  • 我认为 Skype 实际上使用 AppleScript 或其他方法来控制 iTunes 的音量。我用其他音频播放器(Vox、Decibel)进行了测试,它们的音量保持不变。
  • 我认为你是对的。这一次,我一边打电话一边看 iTunes,看到它的音量滑块降到了 0,然后播放器暂停了。当我挂断时,它启动了播放器并恢复了音量。谢谢。

标签: macos audio core-audio


【解决方案1】:

VoiceOver 实用程序有一个启用音频闪避的设置 - 但不确定这是否对 OS X 是全局的。不过可能值得一看。

【讨论】:

    【解决方案2】:

    谢谢,斯布斯。您的建议将我引向https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ScriptingBridgeConcepts/UsingScriptingBridge/UsingScriptingBridge.html

    这为通过 scriptingbridge 框架管理 iTunes 音量/播放器提供了一个很好的示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-20
      • 2012-06-27
      • 1970-01-01
      相关资源
      最近更新 更多