volume~3.h
来自「vc++游戏编程导学源码。漂亮的界面」· C头文件 代码 · 共 65 行
H
65 行
// VolumeOutWave.h : Module interface declaration.
// IVolume implementation for wave audio output device
// Developer : Alex Chmut
// Created : 8/11/98
#pragma once
#include "IVolume.h"
///////////////////////////////////////////////////////////////////////////////////////////////
class CVolumeOutWave
: public IVolume
{
////////////////////////
// IVolume interface
public:
virtual bool IsAvailable();
virtual void Enable();
virtual void Disable();
virtual DWORD GetVolumeMetric();
virtual DWORD GetMinimalVolume();
virtual DWORD GetMaximalVolume();
virtual DWORD GetCurrentVolume();
virtual void SetCurrentVolume( DWORD dwValue );
virtual void RegisterNotificationSink( PONMICVOULUMECHANGE, DWORD );
public:
CVolumeOutWave();
~CVolumeOutWave();
private:
bool Init();
void Done();
bool Initialize();
void EnableLine( bool bEnable = true );
private:
// Status Info
bool m_bOK;
bool m_bInitialized;
bool m_bAvailable;
// Mixer Info
UINT m_uMixerID;
DWORD m_dwMixerHandle;
DWORD m_dwLineID;
DWORD m_dwVolumeControlID;
int m_nChannelCount;
HWND m_hWnd;
static LRESULT CALLBACK MixerWndProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
void OnControlChanged( DWORD dwControlID );
DWORD m_dwMinimalVolume;
DWORD m_dwMaximalVolume;
DWORD m_dwVolumeStep;
// User Info
PONMICVOULUMECHANGE m_pfUserSink;
DWORD m_dwUserValue;
};
typedef CVolumeOutWave* PCVolumeOutWave;
///////////////////////////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?