科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件用VC6.0设计数字视频播放器

用VC6.0设计数字视频播放器

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文介绍了使用Visual C 6.0设计一个播放AVI格式视频资料的播放器。

作者:王秉举 向辉 沈建国 来源:ahcit 2007年10月19日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
2 函数的实现

MyDigtal::MyDigtal()
{
 m_Open = m_Pause = m_Playing = FALSE;
 m_DeviceID = 0;
 // 初始化成员变量
}
MyDigtal::~MyDigtal()
{
 Close ();
}

  由于篇幅所限,下面只是列出了一些主要程序。

mciSendCommand (m_DeviceID, MCI_STOP, NULL, NULL);
mciSendCommand (m_DeviceID, MCI_CLOSE, NULL, NULL); // 停止播放并关闭设备
MCI_DGV_OPEN_PARMS MCIOpen; // 打开设备
MCIOpen.lpstrDeviceType = "avivideo";//设置播放设备为视频播放设备
MCIOpen.lpstrElementName = (LPSTR) Filename.GetBuffer (0);//文件名
MCIOpen.hWndParent = pWnd->m_hWnd;//可播放视频文件窗口指针
MCIOpen.dwStyle = WS_CHILD | WS_VISIBLE;
MCI_DGV_SET_PARMS MCISet; // 将文件长度设置为帧
MCISet.dwTimeFormat = MCI_FORMAT_FRAMES;
mciSendCommand (m_DeviceID, MCI_SEEK, MCI_SEEK_TO_START, NULL); // 找到视频文件//的开始位置
MCI_DGV_PLAY_PARMS MCIPlay;//在当前位置开始播放
MCIPlay.dwFrom = GetFrame ();//得到当前的视频位置
MCI_DGV_PAUSE_PARMS MCIPause;//暂停播放
mciSendCommand (m_DeviceID, MCI_PAUSE, 0, (DWORD)(LPVOID) &MCIPause))
MCI_DGV_STATUS_PARMS MCIStatus;//获的视频的总帧数
MCIStatus.dwItem = MCI_STATUS_LENGTH;
return (int) MCIStatus.dwReturn;//总帧数
MCI_DGV_STATUS_PARMS MCIStatus;//得到视频当前的播放位置
MCIStatus.dwItem = MCI_STATUS_POSITION;
return (int) MCIStatus.dwReturn;

MCI_DGV_STATUS_PARMS MCIStatus;//查询视频是否处于播放状态
MCIStatus.dwItem = MCI_STATUS_MODE;
MCI_SEEK_PARMS MCISeek;//跳转播放
MCISeek.dwTo = nFrame;
MCI_DGV_STEP_PARMS MCIStep;//前进和后退
MCIStep.dwFrames = nFrames;

  3 界面及应用功能程序的设计

  我们创建一个基于对话框的应用程序。最后生成的程序界面如图1所示。


图1 播放器主界面

  在应用程序中,首先要在工程中添加winmm.lib库文件。winmm.lib库中输出了MCI的各类函数。其次要把MyDigtal类加入对话框主程序中,这样在后面用到九个按钮程序中就可以直接调用类中的功能函数。这里,我们特别要注意在函数中必须添加OnTime()函数。对于一个视频,如果开始了播放,它会按照既定的速度进行显示。但在打开一个视频后还需要对其进行进一步的操作,视频在播放时不会发送消息的,只有通过OnTime()函数每隔一定的时间检查一次视频播放状态,然后才可以针对视频的状态,对滑块显示当前帧的窗口进行更新,并确定此时每个按钮的状态。我们一般可以选用100毫秒更新一次。

  4 结束语

  我们使用VC++6.0这个微软强大的可视化应用程序开发工具,在VC++环境下,利用MFC库和MCI标准,我们可以轻松开发用于播放AVI格式的视频文件。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章