📄 myaudiotest.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 + -