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

📄 myaudiotest.h

📁 基于S3C2440A的IIS的Audio功能实现(测试已通过)
💻 H
字号:
#ifndef __MYAUDIO_H__
#define __MYAUDIO_H__

#define	HWAVEOUT	U32
#define  BUF_SIZE  (16*1024)
#define   WAVERR_BASE 32
#define   MMRESULT  U32
#define	LPHWAVEOUT	HWAVEOUT *
#define	WAVERR_BADFORMAT 		(WAVERR_BASE+0) 
#define	DEVICE_FREE	0	
#define   MMSYSERR_BASE 	0
#define	MMSYSERR_BADDEVICEID 	(MMSYSERR_BASE+2)
#define	MMSYSERR_NOERROR 		(MMSYSERR_BASE+0) 
#define	MMSYSERR_INVALHANDLE 	(MMSYSERR_BASE+5)
#define	WAVE_FORMAT_PCM 					0x0001	//PCM data format 
#define	DEVICE_PLAY	1
#define	PLAY	0

#define	AUDIO_PLAY_DEV	0x100

#define	PLAY_DMA_ATTR	((AUDIO_PLAY_DEV<<16)|SRC_LOC_AHB|SRC_ADDR_INC|DST_LOC_APB|DST_ADDR_FIXED|REQ_IISDO)
#define	PLAY_DMA_MODE	(HANDSHAKE_MODE|SYNC_APB|DONE_GEN_INT|TSZ_UNIT|SINGLE_SVC|HW_TRIG|RELOAD_OFF|DSZ_16b)

#define	DMA_CHECK_ATTR	1

#define L3C (1<<4)              //GPB4 = L3CLOCK
#define L3D (1<<3)              //GPB3 = L3DATA
#define L3M (1<<2)              //GPB2 = L3MODE
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;

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

#endif 

⌨️ 快捷键说明

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