char lpCmdLine[300];
char *ffmpegPath = "ffmpeg.exe";
char *inputVideo = NULL;
char *outputAudio = NULL;
DWORD num=WideCharToMultiByte(CP_ACP,0,m_ImgPath.GetBuffer(),-1,NULL,0,NULL,0);
//开辟空间
char *pChar=NULL;
pChar=(char*)malloc(num*sizeof(char));
if (pChar==NULL)
{
free(pChar);
}
memset(pChar,0,num*sizeof(char));
//将宽字节字符串转换为多字节字符串
WideCharToMultiByte(CP_ACP, 0, m_ImgPath.GetBuffer(), -1, pChar, num, NULL, 0);
inputVideo = pChar;
CString outPath = m_ImgPath.Left(m_ImgPath.ReverseFind('.')+1)+L"wav";
num = WideCharToMultiByte(CP_ACP, 0, outPath.GetBuffer(), -1, NULL, 0, NULL, 0);
//开辟空间
pChar = NULL;
pChar = (char*)malloc(num*sizeof(char));
if (pChar == NULL)
{
free(pChar);
}
memset(pChar, 0, num*sizeof(char));
//将宽字节字符串转换为多字节字符串
WideCharToMultiByte(CP_ACP, 0, outPath.GetBuffer(), -1, pChar, num, NULL, 0);
outputAudio = pChar;
// ffmpeg.exe - i 1.avi output.mp3
sprintf(lpCmdLine, "%s -i %s %s ", ffmpegPath, inputVideo, outputAudio);
WinExec(lpCmdLine, SW_SHOW);
free(inputVideo);
free(outputAudio);
1 提取音频
ffmpeg.exe -i e:\7.mp4 -ss 0 -t 20 e:\temp.mp3