⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wave.h

📁 西安电子科技大学王亚民教授所著《组态软件设计与开发》附带的源代码07章
💻 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 + -