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

📄 audiodrv.h

📁 S3C2440 开发板ADS下的一个测试程序,这个本是开发板公司的,放到这大家方便下载了,
💻 H
字号:
#ifndef	AUDIO_DRV_H
#define	AUDIO_DRV_H

#include "def.h"

#define	HWAVEOUT	U32
#define	LPHWAVEOUT	HWAVEOUT *
#define	HWAVEIN		HWAVEOUT
#define	LPHWAVEIN	HWAVEIN *

#define	LPDWORD	U32 *
#define	MMRESULT	U32

#define MMSYSERR_BASE 	0
#define WAVERR_BASE 	32
#define	MMSYSERR_NOERROR 		(MMSYSERR_BASE+0) 
#define	MMSYSERR_BADDEVICEID 	(MMSYSERR_BASE+2)
#define	MMSYSERR_INVALHANDLE 	(MMSYSERR_BASE+5)
#define	MMSYSERR_NOMEM 			(MMSYSERR_BASE+7) 
#define	MMSYSERR_NOTSUPPORTED 	(MMSYSERR_BASE+8)
#define	WAVERR_BADFORMAT 		(WAVERR_BASE+0) 
#define	WAVERR_STILLPLAYING 	(WAVERR_BASE+1)
#define	WAVERR_UNPREPARED 		(WAVERR_BASE+2) 
#define	WAVERR_SYNC 			(WAVERR_BASE+3) 

typedef struct tWAVEFORMATEX{
	WORD wFormatTag;
	WORD nChannels;
	DWORD nSamplesPerSec;
	DWORD nAvgBytesPerSec;
	WORD nBlockAlign;
	WORD wBitsPerSample;
	WORD cbSize;
}WAVEFORMATEX, *LPWAVEFORMATEX;

typedef struct wavehdr_tag{
	LPSTR lpData;
	DWORD dwBufferLength;
	DWORD dwBytesRecorded;
	DWORD dwUser;
	DWORD dwFlags;
	DWORD dwLoops;
	struct wavehdr_tag *lpNext;
	DWORD reserved;
}WAVEHDR, *LPWAVEHDR;

MMRESULT waveOutOpen(
	LPHWAVEOUT phwo,
	UINT uDeviceID,
	LPWAVEFORMATEX pwfx,
	DWORD dwCallback,
	DWORD dwCallbackInstance,
	DWORD fdwOpen
);
MMRESULT waveOutClose(HWAVEOUT hwo);
MMRESULT waveOutPrepareHeader(HWAVEOUT hwo, LPWAVEHDR pwh, UINT cbwh);
MMRESULT waveOutUnprepareHeader(HWAVEOUT hwo, LPWAVEHDR pwh, UINT cbwh);
MMRESULT waveOutWrite(HWAVEOUT hwo,	LPWAVEHDR pwh, UINT cbwh);
MMRESULT waveOutSetVolume(HWAVEOUT hwo,	DWORD dwVolume);
MMRESULT waveOutGetVolume(HWAVEOUT hwo, LPDWORD pdwVolume);
MMRESULT waveOutPause (HWAVEOUT hwo);
MMRESULT waveOutRestart(HWAVEOUT hwo);
MMRESULT waveOutReset (HWAVEOUT hwo);

/*******************************************************************/
MMRESULT waveInOpen(
	LPHWAVEIN phwi,
	UINT uDeviceID,
	LPWAVEFORMATEX pwfx,
	DWORD dwCallback,
	DWORD dwCallbackInstance,
	DWORD fdwOpen
);
MMRESULT waveInClose(HWAVEOUT hwi);
MMRESULT waveInStart(HWAVEIN hwi);
MMRESULT waveInStop(HWAVEIN hwi);
MMRESULT waveInPrepareHeader(HWAVEIN hwi, LPWAVEHDR pwh, UINT cbwh);
MMRESULT waveInUnprepareHeader(HWAVEIN hwi, LPWAVEHDR pwh, UINT cbwh);
MMRESULT waveInAddBuffer(HWAVEIN hwi, LPWAVEHDR pwh, UINT cbwh);
MMRESULT waveInReset(HWAVEOUT hwi);


#define	WAVE_FORMAT_UNKNOWN 				0x0000	//Microsoft Corporation
#define	WAVE_FORMAT_PCM 					0x0001	//PCM data format 
#define	WAVE_FORMAT_ADPCM 					0x0002	//Microsoft Corporation 
#define	WAVE_FORMAT_IEEE_FLOAT 				0x0003	//Microsoft Corporation 
#define	WAVE_FORMAT_IBM_CVSD 				0x0005	//IBM Corporation 
#define	WAVE_FORMAT_ALAW 					0x0006	//Microsoft Corporation 
#define	WAVE_FORMAT_MULAW 					0x0007	//Microsoft Corporation 
#define	WAVE_FORMAT_OKI_ADPCM 				0x0010	//OKI 
#define	WAVE_FORMAT_DVI_ADPCM 				0x0011	//Intel Corporation 
#define	WAVE_FORMAT_IMA_ADPCM 				0x0011 	//Intel Corporation 
#define	WAVE_FORMAT_MEDIASPACE_ADPCM 		0x0012	//Videologic 
#define	WAVE_FORMAT_SIERRA_ADPCM 			0x0013 	//Sierra Semiconductor Corp 
#define	WAVE_FORMAT_G723_ADPCM 				0x0014	//Antex Electronics Corporation 
#define	WAVE_FORMAT_DIGISTD 				0x0015	//DSP Solutions, Inc. 
#define	WAVE_FORMAT_DIGIFIX 				0x0016	//DSP Solutions, Inc. 
#define	WAVE_FORMAT_DIALOGIC_OKI_ADPCM 		0x0017 	//Dialogic Corporation 
#define	WAVE_FORMAT_MEDIAVISION_ADPCM 		0x0018 	//Media Vision, Inc. 
#define	WAVE_FORMAT_YAMAHA_ADPCM 			0x0020	//Yamaha Corporationof America 
#define	WAVE_FORMAT_SONARC 					0x0021	//Speech Compression 
#define	WAVE_FORMAT_DSPGROUP_TRUESPEECH 	0x0022 	//DSP Group, Inc 
#define	WAVE_FORMAT_ECHOSC1 				0x0023 	//Echo Speech Corporation 
#define	WAVE_FORMAT_AUDIOFILE_AF36 			0x0024
#define	WAVE_FORMAT_APTX 					0x0025	//Audio Processing Technology 
#define	WAVE_FORMAT_AUDIOFILE_AF10 			0x0026
#define	WAVE_FORMAT_DOLBY_AC2 				0x0030	//Dolby Laboratories 
#define	WAVE_FORMAT_GSM610 					0x0031	//Microsoft Corporation 
#define	WAVE_FORMAT_MSNAUDIO 				0x0032 	//Microsoft Corporation 
#define	WAVE_FORMAT_ANTEX_ADPCME 			0x0033	//Antex Electronics Corporation 
#define	WAVE_FORMAT_CONTROL_RES_VQLPC		0x0034 	//Control Resources Limited
#define	WAVE_FORMAT_DIGIREAL 				0x0035	//DSP Solutions, Inc. 
#define	WAVE_FORMAT_DIGIADPCM 				0x0036	//DSP Solutions, Inc. 
#define	WAVE_FORMAT_CONTROL_RES_CR10 		0x0037 	//Control Resources Limited 
#define	WAVE_FORMAT_NMS_VBXADPCM 			0x0038	//Natural MicroSystems 
#define	WAVE_FORMAT_CS_IMAADPCM 			0x0039	//Crystal Semiconductor IMA ADPCM 
#define	WAVE_FORMAT_ECHOSC3 				0x003A	//Echo Speech Corporation 
#define	WAVE_FORMAT_ROCKWELL_ADPCM 			0x003B	//Rockwell International
#define	WAVE_FORMAT_ROCKWELL_DIGITALK		0x003C 	//Rockwell International
#define	WAVE_FORMAT_XEBEC 					0x003D	//Xebec Multimedia Solutions Limited 
#define	WAVE_FORMAT_G721_ADPCM 				0x0040	//Antex Electronics Corporation 
#define	WAVE_FORMAT_G728_CELP 				0x0041	//Antex Electronics Corporation 
#define	WAVE_FORMAT_MPEG 					0x0050	//Microsoft Corporation 
#define	WAVE_FORMAT_MPEGLAYER3 				0x0055	//ISO/MPEG Layer3 Format Tag 
#define	WAVE_FORMAT_CIRRUS 					0x0060	//Cirrus Logic
#define	WAVE_FORMAT_ESPCM 					0x0061	//ESS Technology
#define	WAVE_FORMAT_VOXWARE 				0x0062	//Voxware Inc
#define	WAVEFORMAT_CANOPUS_ATRAC 			0x0063	//Canopus, co., Ltd. 
#define	WAVE_FORMAT_G726_ADPCM 				0x0064	//APICOM
#define	WAVE_FORMAT_G722_ADPCM 				0x0065	//APICOM 
#define	WAVE_FORMAT_DSAT 					0x0066	//Microsoft Corporation
#define	WAVE_FORMAT_DSAT_DISPLAY 			0x0067	//Microsoft Corporation
#define	WAVE_FORMAT_SOFTSOUND 				0x0080	//Softsound, Ltd. 
#define	WAVE_FORMAT_RHETOREX_ADPCM 			0x0100	//Rhetorex Inc
#define	WAVE_FORMAT_CREATIVE_ADPCM 			0x0200	//Creative Labs, Inc 
#define	WAVE_FORMAT_CREATIVE_FASTSPEECH8	0x0202	//Creative Labs, Inc 
#define	WAVE_FORMAT_CREATIVE_FASTSPEECH10	0x0203 	//Creative Labs, Inc 
#define	WAVE_FORMAT_QUARTERDECK				0x0220 	//Quarterdeck Corporation 
#define	WAVE_FORMAT_FM_TOWNS_SND 			0x0300	//Fujitsu Corp. 
#define	WAVE_FORMAT_BTV_DIGITAL 			0x0400	//Brooktree Corporation 
#define	WAVE_FORMAT_OLIGSM 					0x1000 	//Ing C. Olivetti & C., S.p.A. 
#define	WAVE_FORMAT_OLIADPCM 				0x1001	//Ing C. Olivetti & C., S.p.A. 
#define	WAVE_FORMAT_OLICELP 				0x1002	//Ing C. Olivetti & C., S.p.A. 
#define	WAVE_FORMAT_OLISBC 					0x1003 	//Ing C. Olivetti & C., S.p.A. 
#define	WAVE_FORMAT_OLIOPR 					0x1004	//Ing C. Olivetti & C., S.p.A. 
#define	WAVE_FORMAT_LH_CODEC 				0x1100	//Lernout & Hauspie 
#define	WAVE_FORMAT_NORRIS 					0x1400 	//Norris Communications, Inc. 
#define	WAVE_FORMAT_DEVELOPMENT 			(0xFFFF)//development a new wave forma

typedef void (*CallBackProc)(HWAVEOUT handle, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2);

#endif	/* AUDIO_DRV_H */

⌨️ 快捷键说明

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