1,221
社区成员
发帖
与我相关
我的任务
分享
if (sfilemane2==NULL)
MessageBox(NULL,"WAVE文件不存在!","警告",MB_OK);
HMMIO file1;//定义HMMIO文件句柄;
file1=mmioOpen(sfilemane2.c_str(),NULL,MMIO_READWRITE);//以读写模式打开所给的WAVE文件;
if(file1==NULL)
{
MessageBox(Null,"WAVE文件打开失败!","警告",MB_OK);
}
MMCKINFO mmckinfo;
mmckinfo.fccType = mmioFOURCC('W', 'A', 'V', 'E');
if(mmioDescend(file1, (LPMMCKINFO) &mmckinfo,NULL,MMIO_FINDRIFF)==MMSYSERR_NOERROR)
{
MMCKINFO mmckfmt;
mmckfmt.ckid = mmioFOURCC('f', 'm', 't', ' ');
if(mmioDescend(file1, (LPMMCKINFO) &mmckfmt,&mmckinfo,MMIO_FINDCHUNK)==MMSYSERR_NOERROR)
{
WAVEFORMATEX *format=(WAVEFORMATEX*)malloc(mmckfmt.cksize);
mmioRead(file1, (HPSTR)format,mmckfmt.cksize);
mmioAscend(file1, &mmckfmt, 0);
}
MMCKINFO mmckdata;
mmckdata.ckid = mmioFOURCC('d', 'a', 't', 'a');
if(mmioDescend(file1, (LPMMCKINFO) &mmckdata,&mmckinfo,MMIO_FINDCHUNK)==MMSYSERR_NOERROR)
{
BYTE *pData=new BYTE[mmckdata.cksize];
mmioRead(file1, (HPSTR)pData,mmckdata.cksize);
mmioAscend(file1, &mmckfmt, 0);
ShowMessage(mmckdata.cksize);
}
}
mmioClose(file1, MMIO_FHOPEN);//关闭WAVE文件