怎么从一个avi文件中提出音频数据,并存储为wav文件
我的想法是:打开一个文件,提取音频流,打开另一个文件用于写入,对avi操作不太清楚,请指出我的代码怎么写才对
AVIFileInit();
LONG hr;
PAVIFILE fileAVI;
PAVIFILE fileWav;
PAVISTREAM audioData;
AVISTREAMINFO ainf;
CString s;
hr=AVIFileOpen(&fileAVI,"d:\\lian02.avi",OF_READ,NULL);
if(AVIFileOpen(&fileWav,"d:\\out.wav",OF_CREATE,NULL))
MessageBox("error write");
if(!hr){
switch(AVIFileGetStream(fileAVI,&audioData,streamtypeAUDIO,0)){
case AVIERR_NODATA:
MessageBox("没有数据");
break;
case AVIERR_MEMORY:
MessageBox("内存不够");
break;
default:
s.Format("%d",AVIStreamLength(audioData));
MessageBox(s);
AVIStreamInfo(audioData,&ainf,sizeof(ainf));
s.Format("%d",ainf.dwRate);
MessageBox(s);
if(AVIMakeFileFromStreams(&fileWav,NULL,&audioData))MessageBox("Error");
AVIFileWriteData(
AVIFileRelease(fileWav);
}
}