国产探花免费观看_亚洲丰满少妇自慰呻吟_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();


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宝兴县| 望奎县| 曲沃县| 宜兰市| 彭州市| 离岛区| 华蓥市| 镇江市| 西安市| 泰宁县| 梁山县| 贵州省| 黔南| 南和县| 白朗县| 化州市| 沂南县| 仁化县| 南丰县| 丘北县| 金乡县| 东乌珠穆沁旗| 泸溪县| 丰都县| 卫辉市| 五指山市| 酒泉市| 泸溪县| 大渡口区| 合江县| 牡丹江市| 鄂托克前旗| 江都市| 酒泉市| 株洲市| 平谷区| 丹阳市| 调兵山市| 阜城县| 临泉县| 嘉荫县|