IAudioSessionControl2::SetDuckingPreference 方法 (audiopolicy.h)

SetDuckingPreference 方法启用或禁用默认流衰减体验, (系统提供的自动躲避) 。

语法

HRESULT SetDuckingPreference(
  [in] BOOL optOut
);

参数

[in] optOut

一个 BOOL 变量,用于启用或禁用系统自动躲避。

返回值

如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。

返回值 说明
AUDCLNT_E_DEVICE_INVALIDATED
音频会话在默认音频设备上断开连接。

注解

默认情况下,当系统启动通信会话并在默认通信设备上接收新的通信流时,系统会调整当前播放的所有声音的音量。 有关此功能的详细信息,请参阅 使用通信设备

如果应用程序在 optOut 中通过 TRUE,系统会禁用默认的躲避体验。 有关详细信息,请参阅 禁用默认的躲避体验

若要提供自定义实现,应用程序需要在打开或关闭通信流时从系统获取通知。 若要接收通知,应用程序必须在通过调用 IAudioSessionManager2::RegisterForDuckNotification 来注册自身之前调用此方法。 有关详细信息和示例代码,请参阅 获取躲避事件

如果应用程序在 optOut 中通过 FALSE,则应用程序将提供系统提供的默认流衰减体验。

建议应用程序在流创建期间调用 SetDuckingPreference 。 但是,可以在会话期间动态调用此方法以更改初始首选项。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 audiopolicy.h

另请参阅

IAudioSessionControl2