📄 wave.h
字号:
// wave.h : header file
//
#ifndef __WAVE__
#define __WAVE__
#include "waveodev.h"
/////////////////////////////////////////////////////////////////////////////
// CWave object
class CWave : public CObject
{
DECLARE_SERIAL(CWave)
public:
CWave();
~CWave();
BOOL Create(int nsamples, int samprate = 11025, int sampsize = 8);
BOOL Play(CWaveOutDevice* pWaveOutDevice = NULL);
void Stop();
BOOL Load(char* pszFileName = NULL);
BOOL Load(CFile* fp);
BOOL Load(UINT hFile);
BOOL Load(HMMIO hmmio);
// Attributes
public:
WAVEFORMATEX* GetFormat()
{return (WAVEFORMATEX*)&m_pcmfmt;}
CWaveOutDevice* GetOutDevice()
{return m_pOutDev;}
int GetSize() {return m_iSize;}
int GetNumSamples();
int GetSample(int index);
virtual void OnWaveOutDone();
virtual void OnWaveInData();
void SetSample(int index, int iValue);
// Implementation
public:
void* GetSamples() {return m_pSamples;}
BOOL IsBusy() {return m_bBusy;}
void SetBusy(BOOL b) {m_bBusy = b;}
protected:
virtual void Serialize(CArchive& ar); // Overridden for document i/o
private:
PCMWAVEFORMAT m_pcmfmt; // Pcm wave format header
void* m_pSamples; // Pointer to the samples
int m_iSize; // Size in bytes
CWaveOutDevice* m_pOutDev; // Output device
BOOL m_bBusy; // Set TRUE if playing or recording
};
#endif // __WAVE__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -