星小夜的登录器  v1.0
mutedsessionevents.h
浏览该文件的文档.
1 
10 #ifndef MUTEDSESSIONEVENTS_H
11 #define MUTEDSESSIONEVENTS_H
12 
13 
14 #include <mmdeviceapi.h>
15 #include <Audiopolicy.h>
16 
17 class CMutedSessionEvents : public IAudioSessionEvents
18 {
19 public:
20  CMutedSessionEvents(IAudioSessionManager* pAudioSessionManager );
22 
23  // IUnknown methods -- AddRef, Release, and QueryInterface
24 
25  ULONG STDMETHODCALLTYPE AddRef(){return InterlockedIncrement(&_cRef);}
26 
27  ULONG STDMETHODCALLTYPE Release();
28 
29  HRESULT STDMETHODCALLTYPE QueryInterface(
30  REFIID riid,
31  VOID **ppvInterface);
32 
33  // Notification methods for audio session events
34 
35  HRESULT STDMETHODCALLTYPE OnDisplayNameChanged(
36  LPCWSTR NewDisplayName,
37  LPCGUID EventContext)
38  {
39  return S_OK;
40  }
41 
42  HRESULT STDMETHODCALLTYPE OnIconPathChanged(
43  LPCWSTR NewIconPath,
44  LPCGUID EventContext)
45  {
46  return S_OK;
47  }
48 
49  HRESULT STDMETHODCALLTYPE OnSimpleVolumeChanged(
50  float NewVolume,
51  BOOL NewMute,
52  LPCGUID EventContext);
53 
54  HRESULT STDMETHODCALLTYPE OnChannelVolumeChanged(
55  DWORD ChannelCount,
56  float NewChannelVolumeArray[],
57  DWORD ChangedChannel,
58  LPCGUID EventContext)
59  {
60  return S_OK;
61  }
62 
63  HRESULT STDMETHODCALLTYPE OnGroupingParamChanged(
64  LPCGUID NewGroupingParam,
65  LPCGUID EventContext)
66  {
67  return S_OK;
68  }
69 
70  HRESULT STDMETHODCALLTYPE OnStateChanged(
71  AudioSessionState NewState)
72  {
73  return S_OK;
74  }
75 
76  HRESULT STDMETHODCALLTYPE OnSessionDisconnected(
77  AudioSessionDisconnectReason DisconnectReason)
78  {
79  return S_OK;
80  }
81 
82  bool TxSetMuted(bool bMuted);
83 
84 private:
85  LONG _cRef;
86 
87 private:
88  IAudioSessionManager* m_AudioSessionManager;
89 };
90 
91 
92 #endif // MUTEDSESSIONEVENTS_H
CMutedSessionEvents::OnChannelVolumeChanged
HRESULT STDMETHODCALLTYPE OnChannelVolumeChanged(DWORD ChannelCount, float NewChannelVolumeArray[], DWORD ChangedChannel, LPCGUID EventContext)
Definition: mutedsessionevents.h:54
CMutedSessionEvents::_cRef
LONG _cRef
Definition: mutedsessionevents.h:85
CMutedSessionEvents::~CMutedSessionEvents
~CMutedSessionEvents()
Definition: mutedsessionevents.h:21
CMutedSessionEvents::m_AudioSessionManager
IAudioSessionManager * m_AudioSessionManager
Definition: mutedsessionevents.h:88
CMutedSessionEvents::CMutedSessionEvents
CMutedSessionEvents(IAudioSessionManager *pAudioSessionManager)
Definition: mutedsessionevents.cpp:14
CMutedSessionEvents::OnSimpleVolumeChanged
HRESULT STDMETHODCALLTYPE OnSimpleVolumeChanged(float NewVolume, BOOL NewMute, LPCGUID EventContext)
Definition: mutedsessionevents.cpp:52
CMutedSessionEvents::AddRef
ULONG STDMETHODCALLTYPE AddRef()
Definition: mutedsessionevents.h:25
CMutedSessionEvents
Definition: mutedsessionevents.h:18
CMutedSessionEvents::OnDisplayNameChanged
HRESULT STDMETHODCALLTYPE OnDisplayNameChanged(LPCWSTR NewDisplayName, LPCGUID EventContext)
Definition: mutedsessionevents.h:35
CMutedSessionEvents::OnStateChanged
HRESULT STDMETHODCALLTYPE OnStateChanged(AudioSessionState NewState)
Definition: mutedsessionevents.h:70
CMutedSessionEvents::OnIconPathChanged
HRESULT STDMETHODCALLTYPE OnIconPathChanged(LPCWSTR NewIconPath, LPCGUID EventContext)
Definition: mutedsessionevents.h:42
CMutedSessionEvents::TxSetMuted
bool TxSetMuted(bool bMuted)
Definition: mutedsessionevents.cpp:66
CMutedSessionEvents::Release
ULONG STDMETHODCALLTYPE Release()
Definition: mutedsessionevents.cpp:20
CMutedSessionEvents::QueryInterface
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, VOID **ppvInterface)
Definition: mutedsessionevents.cpp:30
CMutedSessionEvents::OnSessionDisconnected
HRESULT STDMETHODCALLTYPE OnSessionDisconnected(AudioSessionDisconnectReason DisconnectReason)
Definition: mutedsessionevents.h:76
CMutedSessionEvents::OnGroupingParamChanged
HRESULT STDMETHODCALLTYPE OnGroupingParamChanged(LPCGUID NewGroupingParam, LPCGUID EventContext)
Definition: mutedsessionevents.h:63