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

📄 audiofile.cpp

📁 实现了录音,放音功能!在evc4.0下编译功过,wince5.0下能正常录音,放音,暂停录放音!
💻 CPP
字号:

#include "stdafx.h"
//#include "AudioFile.h"

AudioFile::AudioFile()
{
	m_pFileHdr = NULL;
}

AudioFile::~AudioFile()
{
}

BOOL AudioFile::ToClos()
{
	return CloseHandle(m_fh);
}

MMRESULT AudioFile::ToOpen(LPCTSTR lpFileName, PVOID pFilehdr, DWORD cbHdrSiz, OpenMod Flags)
{
	DWORD cbBytsDone;

	if (READ == Flags)
	{
		m_fh = CreateFile(lpFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, NULL);
		if (INVALID_HANDLE_VALUE == m_fh)
		{
			return MMSYSERR_ERROR;
		}
		if (!ReadFile(m_fh, pFilehdr, cbHdrSiz, &cbBytsDone, NULL) || cbBytsDone < cbHdrSiz)
		{
			return MMSYSERR_ERROR;
		}
		return MMSYSERR_NOERROR;
	}
	else if (WRIT == Flags)
	{
		m_fh = CreateFile(lpFileName, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
		if (INVALID_HANDLE_VALUE == m_fh)
		{
			return MMSYSERR_ERROR;
		}
		if (!WriteFile(m_fh, pFilehdr, cbHdrSiz, &cbBytsDone, NULL) || cbBytsDone < cbHdrSiz)
		{
			return MMSYSERR_ERROR;
		}
		return MMSYSERR_NOERROR;
	}
	else
	{
		return MMSYSERR_INVALPARAM;
	}
}

MMRESULT AudioFile::ToRead(PBYTE pBuf, DWORD cbSiz2Read, PDWORD pcbSizRead)
{
	if (!ReadFile(m_fh, pBuf, cbSiz2Read, pcbSizRead, NULL))
	{
		return MMSYSERR_ERROR;
	}
	return MMSYSERR_NOERROR;
}

MMRESULT AudioFile::ToWrit(PBYTE pData, DWORD cbSiz2Writ, PDWORD pcbSizWrot)
{
	if (!WriteFile(m_fh, pData, cbSiz2Writ, pcbSizWrot, NULL) || *pcbSizWrot < cbSiz2Writ)
	{
		return MMSYSERR_ERROR;
	}
	return MMSYSERR_NOERROR;
}


⌨️ 快捷键说明

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