|
^^ 안녕하세요
메모리에 있는 wave데이타를 재생하는 방법을 몰라서요
선배 여러분의 가르침을 부탁 드립니다.
아래 코드로 해보니 안되어서 부탁 드리옵니다.
그럼 안녕히 계세요
1. char *Output ( 메모리에 있는 wave 데이타)
2. int sizeOfOutput (wave 데이타의크기)
//---------------------------------------------
WAVEFORMATEX WaveFormat;
HWAVEIN WaveInHandle;
HWAVEOUT WaveOutHandle;
WAVEHDR WaveOutHeader;
WaveFormat.wFormatTag = WAVE_FORMAT_PCM;
WaveFormat.nChannels=1;
WaveFormat.nSamplesPerSec=16000L;
WaveFormat.nAvgBytesPerSec=16000L;
WaveFormat.nBlockAlign=1;
WaveFormat.wBitsPerSample=8;
//WaveFormat.cbSize=0;
if(waveInOpen(&WaveOutHandle,WAVE_MAPPER,(tWAVEFORMATEX*) &WaveFormat,0L,0L,0L) != MMSYSERR_NOERROR)
{
ShowMessage("Error WaveOpen");
}
WaveOutHeader.lpData= (LPSTR) Output;
WaveOutHeader.dwBufferLength= sizeOfOutput;
WaveOutHeader.dwFlags=0L;
WaveOutHeader.dwLoops=0L;
waveOutPrepareHeader(WaveOutHandle,&WaveOutHeader,sizeof(WAVEHDR));
waveOutWrite(WaveOutHandle,&WaveOutHeader,sizeof(WAVEHDR));
|