全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
directshow 之 视频文件AVI格式摄制 HRESULT CVideoSource:RecoderAVIFrames(char* szFile) HRESULT hr = NULL;OFSTRUCT os;/IBaseFilter *pMux;IFileSinkFilter *pSink;IConfigAviMux * pConfigAviMux;if(OpenFile(szFile, &os, OF_EXIST) = HFILE_ERROR)/ bring up dialog, and set new file size/*CFile f;bool bFile = f.Open(szFile,CFile:modeCreate|CFile:modeWrite);if (!bFile)MessageBox(AfxGetMainWnd()-m_hWnd, TEXT(很抱歉,不能创建文件,请检查该文件夹是否有权限的严格控制),TEXT(Error),MB_OK | MB_ICONEXCLAMATION);*/hr = m_pBuilder-AllocCapFile(LPCOLESTR(szFile),(DWORDLONG)100* 1024 * 1024);if (hr != NOERROR)MessageBox(AfxGetMainWnd()-m_hWnd, TEXT(很抱歉,磁盘空间不够,请调整磁盘空间),TEXT(Error),MB_OK | MB_ICONEXCLAMATION);return FALSE;/hr = m_pBuilder-SetOutputFileName(&MEDIASUBTYPE_Avi,(LPCOLESTR)szFile, &m_pMux, NULL);/hr = m_pBuilder-SetOutputFileName(&MEDIASUBTYPE_Avi,(LPCOLESTR)szFile, &m_pMux, &pSink);hr = m_pBuilder-SetOutputFileName(&MEDIASUBTYPE_Avi,(LPCOLESTR)szFile, &m_pVideoRender, &pSink);if(hr != NOERROR)ErrMsg(TEXT(Cannot set output file);/ Now tell the AVIMUX to write out AVI files that old apps can read properly./ If we dont, most apps wont be able to tell where the keyframes are,/ slowing down editing considerably/ Doing this will cause one seek (over the area the index will go) when/ you capture past 1 Gig, but thats no big deal./ NOTE: This is on by default, so its not necessary to turn it on/ Also, set the proper MASTER STREAMhr = m_pVideoRender-QueryInterface(IID_IConfigAviMux, (void *)&pConfigAviMux);if (hr = NOERROR & pConfigAviMux)hr = pConfigAviMux-SetOutputCompatibilityIndex(TRUE);/ Render the video capture and preview pins - even if the capture filter only/ has a capture pin (and no preview pin) this should work. because the/ capture graph builder will use a smart tee filter to provide both capture/ and preview. We dont have to worry. It will just work./ NOTE that we try to render the interleaved pin before the video pin, because/ if BOTH exist, its a DV filter and the only way to get the audio is to use/ the interleaved pin. Using the Video pin on a DV filter is only useful if/ you dont want the audio./m_pBuilder-GetFiltergraph(&m_pGrapher);/有声音录制,需设置/*if(gcap.fCapAudio)hr = gcap.pConfigAviMux-SetMasterStream(gcap.iMasterStream);if(hr != NOERROR)ErrMsg(TEXT(SetMasterStream failed!);*/hr = m_pBuilder-RenderStream(&PIN_CATEGORY_CAPTURE,&MEDIATYPE_Interleaved,m_pVideoCap, NULL, m_pVideoRender);/hr = m_pBuilder-RenderStream(&PIN_CATEGORY_CAPTURE,&MEDIATYPE_Interleaved,m_pVideoCap, NULL, m_pMux);if(hr != NOERROR)hr = m_pBuilder-RenderStream(&PIN_CATEGORY_CAPTURE, &MEDIATYPE_Video, m_pVideoCap, NULL, m_pVideoRender);/hr = m_pBuilder-RenderStream(&PIN_CATEGORY_CAPTURE, &MEDIATYPE_Video, m_pVideoCap, NULL, m_pMux);if(hr != NOERROR)ErrMsg(TEXT(Cannot render video c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年随州辅警招聘考试题库含答案详解(夺分金卷)
- 2025年甘肃辅警招聘考试真题及答案详解(各地真题)
- 2025年龙岩辅警协警招聘考试备考题库含答案详解(综合题)
- 2025年茂名辅警招聘考试真题附答案详解(b卷)
- 2025年苗栗县辅警招聘考试题库附答案详解(突破训练)
- 2025年钦州辅警协警招聘考试真题含答案详解(夺分金卷)
- 2025年遵义辅警招聘考试题库及1套参考答案详解
- 2025年莆田辅警协警招聘考试真题及完整答案详解一套
- 2025年福州辅警招聘考试题库附答案详解(考试直接用)
- 2025年鹰潭辅警招聘考试真题附答案详解
- GB/T 5699-2025采光测量方法
- 《中国金融学》课件 第14章 金融发展与金融“五篇大文章”-课件
- 医院重点专科肾内科申报
- 全民守法+说课课件-2024-2025学年高中政治统编版必修三政治与法治
- 2025年高考化学试卷真题完全解读(陕晋宁青卷)
- DB51∕T 3261-2025 川酒(浓香型)原酒生产技术规范
- 超支化聚合物改性技术在环氧树脂性能提升中的应用
- 公司创始人视频策划方案
- 产妇心理护理课件教学
- 公司高管租房管理制度
- 未成年学徒合同协议书
评论
0/150
提交评论