国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用AVIFile函數制做AVI文件基本步驟

2019-11-17 05:02:40
字體:
來源:轉載
供稿:網友
AVIFile,AVIFileOpen,AVIFileCreateStream....制做AVI文件,基相實現方法。
AVIFileInit();//創建AVI文件if(AVIFileOpen(&m_aviFile,aviFileFullName,OF_CREATEOF_WRITE,0)){MessageBox("create file '"+aviFileFullName+"' error");return;}//設置視頻流格式AVISTREAMINFOW m_aviVideoStreamInfo;m_aviVideoStreamInfo.fccType = streamtypeVIDEO;m_aviVideoStreamInfo.fccHandler = 0;m_aviVideoStreamInfo.dwFlags = 0;m_aviVideoStreamInfo.dwCaps = 0;m_aviVideoStreamInfo.wPRiority = 0;m_aviVideoStreamInfo.wLanguage = 0;m_aviVideoStreamInfo.dwRate = 5; //每秒5幀m_aviVideoStreamInfo.dwScale = 1;m_aviVideoStreamInfo.dwQuality = 0;m_aviVideoStreamInfo.dwSuggestedBufferSize = m_ImageWidth*m_ImageHeight*3;m_aviVideoStreamInfo.dwStart = 0;m_aviVideoStreamInfo.dwInitialFrames = 0;m_aviVideoStreamInfo.dwSampleSize = 0;m_aviVideoStreamInfo.rcFrame.left = 0;m_aviVideoStreamInfo.rcFrame.top = 0;m_aviVideoStreamInfo.rcFrame.right = m_ImageWidth;m_aviVideoStreamInfo.rcFrame.bottom = m_ImageHeight;m_aviVideoStreamInfo.dwEditCount = 0;m_aviVideoStreamInfo.dwFormatChangeCount = 0;strcpy((char *)m_aviVideoStreamInfo.szName,"ScreenCap.avi");m_aviVideoStreamInfo.dwLength = 0;//設置音頻流格式AVISTREAMINFOW m_aviAudioStreamInfo;m_aviAudioStreamInfo.fccType = streamtypeAUDIO;m_aviAudioStreamInfo.fccHandler = 0;m_aviAudioStreamInfo.dwFlags = 0;m_aviAudioStreamInfo.dwCaps = 0;m_aviAudioStreamInfo.wPriority = 0;m_aviAudioStreamInfo.wLanguage = 0;m_aviAudioStreamInfo.dwScale = 1; //聲道數m_aviAudioStreamInfo.dwRate = 8000; //Hzm_aviAudioStreamInfo.dwStart = 0;m_aviAudioStreamInfo.dwInitialFrames = 0;m_aviAudioStreamInfo.dwSuggestedBufferSize = m_dwBufferSize; m_aviAudioStreamInfo.dwQuality = 0;m_aviAudioStreamInfo.dwSampleSize = 1;m_aviAudioStreamInfo.rcFrame.bottom = 0;m_aviAudioStreamInfo.rcFrame.left = 0;m_aviAudioStreamInfo.rcFrame.right = 0;m_aviAudioStreamInfo.rcFrame.top = 0;m_aviAudioStreamInfo.dwEditCount = 0;m_aviAudioStreamInfo.dwFormatChangeCount = 0;m_aviAudioStreamInfo.dwLength = 0;//創建數據流AVIFileCreateStream(m_aviFile,&m_aviVideoStream,(AVISTREAMINFO *)&m_aviVideoStreamInfo);AVIFileCreateStream(m_aviFile,&m_aviAudioStream,(AVISTREAMINFO *)&m_aviAudioStreamInfo);//寫數據流//-----視屏流BITMAPINFOHEADER bmpInfoHdr;bmpInfoHdr.biSize = sizeof(BITMAPINFOHEADER);bmpInfoHdr.biWidth = m_ImageWidth;bmpInfoHdr.biHeight = m_ImageHeight;bmpInfoHdr.biBitCount = image1.GetBPP();bmpInfoHdr.biCompression = BI_RGB;
bmpInfoHdr.biSizeImage = 0;bmpInfoHdr.biClrImportant = 0;bmpInfoHdr.biClrUsed = 0;bmpInfoHdr.biXPelsPerMeter = 0;bmpInfoHdr.biYPelsPerMeter = 0;bmpInfoHdr.biplanes = 1;//設置幀格式AVIStreamSetFormat(m_aviVideoStream,m_aviVideoFrames,&bmpInfoHdr,sizeof(bmpInfoHdr));//寫數據AVIStreamWrite(m_aviVideoStream,m_aviVideoFrames ,1,(LPBYTE) buffer,size ,AVIIF_KEYFRAME,NULL,NULL);m_aviVideoFrames++;///-------------//----音頻流WAVEFORMAT waveFormat;waveFormat.nAvgBytesPerSec = m_Format.nAvgBytesPerSec;waveFormat.nBlockAlign = m_Format.nBlockAlign;waveFormat.nChannels = m_Format.nChannels;waveFormat.nSamplesPerSec = m_Format.nSamplesPerSec;waveFormat.wFormatTag = m_Format.wFormatTag;//設置音頻格式AVIStreamSetFormat(m_aviAudioStream,m_aviAudioFrames,&m_Format,sizeof(m_Format));//寫數據AVIStreamWrite(m_aviAudioStream,m_aviAudioFrames ,1,(LPBYTE)pBuffer,pWaveHdr->dwBytesRecorded ,AVIIF_KEYFRAME,NULL,NULL);m_aviAudioFrames++;///-----------//釋放數據流及文件if(m_aviVideoStream){m_aviVideoStream->Release();m_aviVideoStream = NULL;}if(m_aviAudioStream){m_aviAudioStream->Release();m_aviAudioStream = NULL;}if(m_aviFile){m_aviFile->Release();m_aviFile = NULL;}AVIFileExit();


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿城市| 县级市| 常德市| 新乐市| 新干县| 高雄市| 桂平市| 江西省| 融水| 邵武市| 古浪县| 兰西县| 建瓯市| 承德县| 合川市| 綦江县| 毕节市| 平原县| 卢湾区| 兰州市| 横峰县| 昆山市| 公安县| 孝义市| 中西区| 济阳县| 普宁市| 密云县| 江陵县| 仙居县| 武冈市| 马尔康县| 阿瓦提县| 南陵县| 瓦房店市| 博乐市| 利津县| 竹山县| 浠水县| 遵义县| 西和县|