怎么从一个avi文件中提出音频数据,并存储为wav文件

zjkqxjsxb zjkqxjsxb 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我的想法是:打开一个文件,提取音频流,打开另一个文件用于写入,对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);

}
}
...全文
评论 4
收藏 已收藏
分享
返回顶部
zjkqxjsxb
图形处理/算法 19,463 成员 50,678 内容