📄 audiorender.h
字号:
#pragma once
#include <mmsystem.h>
#include <dsound.h>
#include "Timer.h"
#include "SyncFifo.h"
//##ModelId=4753B7E90119
class CAudioRender
{
public:
//##ModelId=4753B7E9011A
CAudioRender();
//##ModelId=4753B7E9011B
~CAudioRender();
//Operators
public:
//##ModelId=4753B7E9011C
BOOL CreateAudioRender(HWND hWnd, int nSamplesPerSec, int nChannels, int nBitsPerSample);
//##ModelId=4753B7E9012C
BOOL DestroyAudioRender();
//##ModelId=4753B7E9012D
BOOL Play();
//##ModelId=4753B7E9012E
BOOL Stop();
//##ModelId=4753B7E90138
void EmptyWaveBuffer();
//##ModelId=4753B7E90139
DWORD GetCurPlayTime();
//##ModelId=4753B7E9013A
BOOL SetVolume(int nVol);
private:
//##ModelId=4753B7E9013C
BOOL WriteWaveData (UINT cbSize);
//##ModelId=4753B7E90149
BOOL WriteSilence (UINT cbSize);
//##ModelId=4753B7E9014B
DWORD GetMaxWriteSize (void);
//##ModelId=4753B7E9014D
BOOL ServiceBuffer (void);
//##ModelId=4753B7E90158
PVOID GetWaveData(UINT nSize, BOOL bSilence = TRUE);
//##ModelId=4753B7E9015B
static BOOL TimerCallback (DWORD dwUser);
//Attributes
public:
//##ModelId=4753B7E90168
CSyncFifo* m_pAudioStream;
private:
//##ModelId=4753B7E9016C
HWND m_hWnd;
//##ModelId=4753B7E9016E
WAVEFORMATEX m_WaveFormatEx;
//##ModelId=4753B7E90178
LPDIRECTSOUND m_pDs;
//##ModelId=4753B7E9017D
LPDIRECTSOUNDBUFFER m_pDSBuff;//sound buffer
//##ModelId=4753B7E90187
DSBUFFERDESC m_sDsbd;// sound buffer description
//##ModelId=4753B7E9018B
BYTE * m_pSoundBuff;
//##ModelId=4753B7E90196
DWORD m_dwSampleSize; //chunk sample size
//##ModelId=4753B7E90197
DWORD m_dwDSBufferSize; // size of sound buffer in bytes
//##ModelId=4753B7E901A5
DWORD m_dwBufOffset; //last write position
//##ModelId=4753B7E901A6
DWORD m_dwCurPlayCursor;
//##ModelId=4753B7E901B5
UINT m_nLastChunkTime;//last pop chunk time
//##ModelId=4753B7E901B7
Timer* m_pTimer; // ptr to Timer object
//##ModelId=4753B7E901C5
UINT m_nBufService;
//##ModelId=4753B7E901D4
LONG lInService;
//##ModelId=4753B7E901D5
BOOL m_bEmpty;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -