wave.h

来自「西安电子科技大学王亚民教授所著《组态软件设计与开发》附带的源代码07章」· C头文件 代码 · 共 57 行

H
57
字号
// 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 + =
减小字号Ctrl + -
显示快捷键?