lawavefile.h

来自「Lakey这是一个免费的CW练习/收/发软件」· C头文件 代码 · 共 48 行

H
48
字号

typedef struct
{
	DWORD	nRiffFlag;		//'RIFF'
	DWORD	nCbSize;
	struct
	{
		DWORD nWaveFlag;	//'WAVE'
		DWORD nFmtFlag;		//'fmt '
		DWORD nCbSize;
		struct
		{
			WORD nBlank;
			WORD nChannels;
			DWORD nSamplesPerSec; 
			DWORD nAvgBytesPerSec; 
			WORD  nBlockAlign; 
			WORD  wBitsPerSample;
		} oWaveInfo;
		DWORD nDataFlag;	//'data'
		DWORD nDataLength;
	} oWaveHeader;
} LAAUDIOFILEHEADER;

class CWaveFile
{
public:
	CWaveFile(const char* pPathname, WORD nChannels, DWORD nSamplesPerSec, WORD  wBitsPerSample, double rSampleBuffSec);
	~CWaveFile();
	int AppendRaw(const char* pBuff, DWORD nLen, int nCount);
	void SetFreq(double rFreq);
	void SetVolumn(double rVol);
	int Append(double rSec);
	int AppendBlank(double rSec);

private:
	void InitWavBuff();
	FILE* m_pDestFile;
	LAAUDIOFILEHEADER m_oWaveFileInfo;
	char*	m_pWavBuff;
	int		m_nWavBuffLen;
	int		m_bModified;

	double	m_rSampleBuffSec;
	double	m_rFreq;
	double	m_rVol;
};

⌨️ 快捷键说明

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