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

📄 soundin.h

📁 一个用VC编写的网络电话例程
💻 H
字号:
// SoundIn.h: interface for the CSoundIn class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SOUNDIN_H__8F8DC634_0576_11D4_8D3A_000021E6766A__INCLUDED_)
#define AFX_SOUNDIN_H__8F8DC634_0576_11D4_8D3A_000021E6766A__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "mmsystem.h"
#include "soundout.h"
#include "winsock.h"
#include "compression.h"

class CSoundIn  
{
public:
	MMRESULT OpenMic();
	void     AddBuffer();
	void     StopMic();
	void	 CloseMic();
	void     SetBits(int bits){m_nBits=bits;}
	void     SetBuffer(char *pBuffer){m_pInputBuffer=pBuffer;}
	void     SetBlockProp(long samples,int num){m_nBlock=samples;m_nBlockNum=num;}
	void     SetSampleRate(UINT nSampleRate){m_WaveInSampleRate=nSampleRate;}
	void	 SetTestProp(BOOL test){m_bTest=test;}
	void	 SetSoundOut(CSoundOut* sndOut){m_sndOut=sndOut;}
	void     SetSocketParam(SOCKET s,SOCKADDR_IN addr){m_sSend=s;m_addrTo=addr;}
	void     SetCompressionObject(CCompression* c){m_cpSend=c;}
	
	CSoundIn();
	virtual ~CSoundIn();
private:
	void WaveInitFormat(WORD    nCh, // number of channels (mono, stereo)
						DWORD   nSampleRate, // sample rate
						WORD    BitsPerSample);
	
	char *			m_pInputBuffer;
	WAVEINCAPS		m_WaveInDevCaps;
    HWAVEIN			m_WaveIn;
	WAVEHDR*		m_WaveHeader;
    WAVEFORMATEX	m_WaveFormat;
	
	BOOL			m_bTest;
	int				m_nCurrent;
	UINT            m_WaveInSampleRate;
	long            m_nBlock;
	int				m_nBlockNum;
	int				m_nBits;
	SOCKET			m_sSend;
	SOCKADDR_IN     m_addrTo;		
	CSoundOut*		m_sndOut;       
	CCompression*   m_cpSend;
public:
	BOOL            m_TerminateThread;
	HANDLE          m_WaveInEvent;
	CWinThread*     m_WaveInThread;
};

#endif // !defined(AFX_SOUNDIN_H__8F8DC634_0576_11D4_8D3A_000021E6766A__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -