如何在对话框中同时播放3个avi视频?

chenyuntian chenyuntian 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在对话框中如何播放3个avi文件?(3个文件播放时间一致)
采用CDigitalvideo进行播放,发现很奇怪,对于有的avi文件可以播放,有的则打开失败(JPEG转AVI)!
请有经验的朋友指点下,如何实现,及控制,多谢!



BOOL CDigitalvideo::Open (CString Filename, CWnd *pWnd, int left, int top,int width,int height)
{
if (!m_Open){//如果m_Open=false,没有打开设备
// 初始化成员变量
m_Open = m_Pause = m_Playing = FALSE;
m_DeviceID = 0;
// 文件是否存在
CFileStatus Status;
if (!CFile::GetStatus (Filename, Status))
return FALSE;
// 打开设备
MCI_DGV_OPEN_PARMS MCIOpen;
MCIOpen.lpstrDeviceType = "avivideo";//设置播放设备为视频播放设备
MCIOpen.lpstrElementName = (LPSTR) Filename.GetBuffer (0);//文件名
MCIOpen.wDeviceID = NULL;
MCIOpen.hWndParent = pWnd->m_hWnd;//可播放视频文件窗口指针
MCIOpen.dwStyle = WS_CHILD | WS_VISIBLE;
if (mciSendCommand (NULL, MCI_OPEN, MCI_WAIT | MCI_OPEN_TYPE |
MCI_OPEN_ELEMENT | MCI_DGV_OPEN_PARENT | MCI_DGV_OPEN_WS, (DWORD)(LPVOID) &MCIOpen))
return FALSE;
m_DeviceID = MCIOpen.wDeviceID;
m_Open = TRUE;
// 将文件长度设置为帧
MCI_DGV_SET_PARMS MCISet;
MCISet.dwTimeFormat = MCI_FORMAT_FRAMES;
if (mciSendCommand (m_DeviceID, MCI_SET, MCI_SET_TIME_FORMAT, (DWORD)(LPVOID) &MCISet)){
Close ();
return FALSE;
}
// 找到视频文件的开始位置
mciSendCommand (m_DeviceID, MCI_SEEK, MCI_SEEK_TO_START, NULL);
//将播放画面置于主窗口之中
MCI_DGV_PUT_PARMS MCIPut;
MCIPut.rc.left = left;
MCIPut.rc.top = top;
MCIPut.rc.right = width;
MCIPut.rc.bottom = height;
if (mciSendCommand (m_DeviceID, MCI_PUT, MCI_WAIT | MCI_DGV_PUT_CLIENT |
MCI_DGV_PUT_WINDOW | MCI_DGV_RECT, (DWORD)(LPVOID) &MCIPut)){
Close ();
return FALSE;
}
}
return TRUE;
}
...全文

相关推荐

传智播客播学习视频avi格式播放器

之前在传智播客下载了一些java的学习视频,结果只有两个MP4格式的视频可以看,其他的avi格式的不能看,找了好久才找到可以播放视频的播放器,希望可以帮到需要的小伙伴。

李娇

全面掌握视频编辑:VirtualDub AVI剪辑工具

本文还有配套的精品资源,点击获取 简介:VirtualDub是一个用户友好的AVI视频处理软件,具备高效的视频切割、合并和编辑功能。它允许用户精确地提取视频片段,并支持批量处理。此外,软件还提供多种视频和音频过滤器以优化视频质量,能够处理多种视频格式,同时附带详细的帮助文档和辅助工具。 1. VirtualDub功能特点概述 VirtualDub 是一个强大...

时光派

VC++ Win32 API实现AVI视频播放器:从VFW原理到双缓冲渲染实战

在Windows桌面应用开发中,多媒体处理是核心技能之一,涉及音视频编解码、内存管理与图形渲染等基础概念。其原理在于通过系统API(如VFW)解析容器格式、解码帧数据并利用GDI进行绘制。掌握这项技术对于开发媒体播放、视频编辑等应用具有重要价值,尤其在需要处理**AVI文件**等传统格式或维护遗留系统时。本文以**Visual C++** 和纯Win32 API为实践环境,详细剖析了VFW库的工作流程、关键API的使用方法,并重点讲解了如何通过双缓冲绘图技术消除闪烁、优化渲染性能,最终构建一个稳定、高效的桌

chengli1824

基于MFC对话框的OpenCV视频播放2

基于MFC对话框的OpenCV视频播放 主要功能:读取AVI视频文件、播放视频文件、可进行播放、暂停、停止操作。

pkusz

CSM0编码的avi视频播放器

播放 CSM0 编码的 AVI 视频播放器 ,尝试过多种播放器,都是只能播放音频,最终通过PotPlayer播放器提示的错误(播放所需的视频解码器是“CSM0”)找到的此播放器。

qq_38627734
评论 4
收藏 已收藏
分享
返回顶部
chenyuntian
界面 15,976 成员 115,866 内容