www.pudn.com > audioTest.rar > AudioUIThread.h
#pragma once
#include "audio/WaveBuffer.h"
#include "audio/Wave.h"
#include "audio/WaveDevice.h"
#include "audio/WaveInterface.h"
#include "audio/WaveIn.h"
#include "afxcmn.h"
#define WM_MSG_1 (WM_USER + 100)
//#define WM_MSG_2 (WM_USER + 101)
typedef struct Audio
{
CString AudioName;
int presetIndex;//预设位
int silent;
}Audio;
typedef struct AudioInfo
{
int num;
Audio *audio;
AudioInfo()
{
audio=NULL;
}
AudioInfo(int num1)
{
num=num1;
audio=new Audio[num];
}
virtual ~AudioInfo()
{
if(audio != NULL)
{
delete []audio;//必须用[],否则报错
audio = NULL;
}
}
}AudioInfo;
// CAudioUIThread
class CAudioUIThread : public CWinThread
{
DECLARE_DYNCREATE(CAudioUIThread)
public:
CAudioUIThread(); // 动态创建所使用的受保护的构造函数
CAudioUIThread(AudioInfo * AI);
protected:
virtual ~CAudioUIThread();
public:
virtual BOOL InitInstance();
virtual int ExitInstance();
protected:
DECLARE_MESSAGE_MAP()
public:
AudioInfo *ai;
private:
BOOL *m_hasVoice;
//Audio *m_audio; //音频采集卡信息
int m_audioNum; //音频采集卡数目
CWaveIn *m_waveIn;
CWaveDevice *m_monDevice;
CWave *m_monWave;
public:
bool InitAudio();
void OnMyMsgAudio(WPARAM wParam,LPARAM lParam);
int Run();
//void EndThread(int t);
};