以下是 IAudioSessionManager2 接口的定义:
// 头文件
#include <Audiopolicy.h>
// IAudioSessionManager2 接口定义
DECLARE_INTERFACE_(IAudioSessionManager2, IAudioSessionManager)
{
STDMETHOD (GetSessionEnumerator) (THIS_
_Outptr_result_maybenull_ IAudioSessionEnumerator **SessionList) PURE;
STDMETHOD (RegisterSessionNotification) (THIS_
_In_ IAudioSessionNotification *SessionNotification) PURE;
STDMETHOD (UnregisterSessionNotification) (THIS_
_In_ IAudioSessionNotification *SessionNotification) PURE;
STDMETHOD (RegisterDuckNotification) (THIS_
_In_ LPCWSTR sessionID,
_In_ IAudioVolumeDuckNotification *duckNotification) PURE;
STDMETHOD (UnregisterDuckNotification) (THIS_
_In_ IAudioVolumeDuckNotification *duckNotification) PURE;
};
这个接口扩展了 IAudioSessionManager,添加了以下额外的方法:
- GetSessionEnumerator:获取一个音频会话枚举器,允许应用程序检索系统中当前活动的音频会话。
- RegisterSessionNotification:注册用于接收音频会话事件通知的通知器对象。
- UnregisterSessionNotification:取消注册先前注册的音频会话事件通知的通知器对象。
- RegisterDuckNotification:注册用于接收音频淡出通知的通知器对象。
- UnregisterDuckNotification:取消注册先前注册的音频淡出通知的通知器对象。
这些方法允许应用程序更全面地管理音频会话的创建、枚举和通知。
转载请注明出处:http://www.zyzy.cn/article/detail/23917/Win32 API/Audiopolicy.h/IAudioSessionManager2