// Audio.h : main header file for the Audio DLL // #pragma once #ifndef __AFXWIN_H__ #error "include 'stdafx.h' before including this file for PCH" #endif #include "resource.h" #define AUDIO_API __declspec(dllexport) #define AUDIO_PRIVATE_API AUDIO_API #define RIFF_FILE mmioFOURCC('R','I','F','F') #define RIFF_WAVE mmioFOURCC('W','A','V','E') #define RIFF_FORMAT mmioFOURCC('f','m','t',' ') #define RIFF_CHANNEL mmioFOURCC('d','a','t','a') // CAudioApp // See Audio.cpp for the implementation of this class // #ifdef __cplusplus extern "C" { #endif AUDIO_API BOOL RecordInit(int channel,int SamplesPerSec,int BitsPerSample,int second); AUDIO_API BOOL StartRecord(); AUDIO_API BOOL EndRecord(LPTSTR file); AUDIO_API DWORD PlayAudio(LPTSTR file); AUDIO_API BOOL EndPlay(); AUDIO_API BOOL ReadChunk(HANDLE hFile,DWORD Type,PVOID * InBuffer, DWORD * chksize,PDWORD ChunkLength); AUDIO_PRIVATE_API void BufferFill(WPARAM Wparm , LPARAM Lparm); AUDIO_PRIVATE_API void CallBuffer(HWAVEOUT hWaveOut,UINT uMsg,DWORD dwInstance, DWORD dwParam1,DWORD dwParam2); HWAVEIN wave; WAVEHDR waveHDR; WAVEHDR waveHDR_2; WAVEHDR wavePlay; PBYTE data; PBYTE data_2; HANDLE writeData; HANDLE PlayEvent; DWORD wait; WAVEFORMATEX waveTex; HWAVEOUT AudioOut; typedef struct { DWORD dwRiff; // Type of file header. DWORD dwSize; // Size of file header. DWORD dwWave; // Type of wave. } RIFF_FILEHEADER, *PRIFF_FILEHEADER; typedef struct { DWORD dwCKID; // Type Identification for current chunk header. DWORD dwSize; // Size of current chunk header. } RIFF_CHUNKHEADER, *PRIFF_CHUNKHEADER; #ifdef __cplusplus } #endif class CAudioApp : public CWinApp { public: CAudioApp(); // Overrides public: virtual BOOL InitInstance(); DECLARE_MESSAGE_MAP(int channel,int SamplesPerSec,int BitsPerSample,int second) };