⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sy1103.htm

📁 c语言经典教程
💻 HTM
字号:
<html>
<HEAD>
<TITLE>Visual C++与计算机接口</TITLE>
 <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=gb2312" > 
</HEAD>
<body>
<font color="#0000FF">MCIWnd的使用</font>
<p>
(一)实验目的:<BR>
     在窗口中使用MCIWnd操作多媒体<BR><BR>
(二)实验内容:<BR><BR>
  Windows中提供了一个MCIWnd窗口类,可以更加方便的在一个VC窗口中操作多媒体。<BR>
  使用MCIWnd,源文件中需要包含头文件 vfw.h,在Project->Settings->Link->Object/libray module中加入库 vfw32.lib。<BR><BR>
1、MCIWnd的创建<BR><BR>
  MCIWnd子窗口的创建可使用MCIWndCreate函数:<BR>
    HWND MCIWndCreate(<BR>
      HWND hwndParent,   //父窗口句柄<BR>
      HINSTANCE hInstance, //应用程序的实例句柄<BR>
      DWORD dwStyle,    //显示风格<BR>
      LPSTR szFile     //多媒体文件名<BR>
    );<BR>
  返回的HWND可以保存下来,以供以后使用,也可不保存。<BR>
  该函数会在其父窗口上创建一个子窗口,类似于创建一个控间如按扭或列表框等。<BR>
  该子窗口会占据父窗口一定空间,可带有播放按钮、进度条、菜单按钮等。<BR>
<p align="center"><span style="FONT-SIZE: 9pt"><img src="sy1101.jpg" ></span></p>
<p align="center"><span style="FONT-SIZE: 9pt">图3.3.1 MCIWnd子窗口</span></p>
示例:<BR>
 (1)建一个多文档的MFC应用程序。<BR>
 (2)在View类的头文件中加入变量:<BR>
    HWND m_mciWnd;<BR>
 (3)在View类中用ClassWizard重载OnInitialUpdate函数。<BR>
 (4)在此函数中加入代码:<BR>
     m_mciWnd=MCIWndCreate(m_hWnd, AfxGetInstanceHandle(), MCIWNDF_SHOWALL | MCIWNDF_RECORD, GetDocument()->GetPathName());<BR>
   这里,m_hWnd为此View窗口的HWND,<BR>
      AfxGetInstanceHandle()可取得本应用程序的实例句柄,<BR>
      MCIWNDF_flag们决定了子窗口中是否要加入播放按钮、录音按钮、菜单按钮、进度条等控件,<BR>
      GetDocument()->GetPathName()则可获得通过打开文件对话框取得的文件名。<BR>
 (5)编译运行。<BR>
 (6)在运行的程序中已经可以任意打开一个多媒体文件进行播放。例如 .wav、.avi、.mid文件。<BR><BR>
2、MCIWnd的使用<BR><BR>
  如果在MCIWnd子窗口中有播放按钮、录音按钮、菜单按钮、进度条等控件,可以通过它们操作多媒体。<BR>
  如果象上例一样保存了MCIWndCreate函数返回的HWND,则不管子窗口中是否有控件,都可通过MCIWndxxxx函数操作多媒体。<BR><BR>

 (7)在上面的程序中加入ID为 ID_NEW、ID_OPEN、ID_PLAY、ID_PLAYREVERSE、ID_RECORD、ID_SAVE、ID_STOP、ID_CLOSE 的菜单项或Toolbar按钮。<BR>
 (8)在 ID_NEW 的消息响应函数中加入:<BR>
     MCIWndNew(m_mciWnd,"waveaudio");<BR>
   MCIWnd子窗口可以建立一个新的音频多媒体文件。<BR>
 (9)在 ID_OPEN 的消息响应函数中加入:<BR>
     MCIWndOpen(m_mciWnd,"c:\\MyWav.wav",0);<BR>
   MCIWnd子窗口可以打开一个已存在的多媒体文件。<BR>
 (10)在 ID_PLAY 的消息响应函数中加入:<BR>
     MCIWndPlay(m_mciWnd);<BR>
   MCIWnd子窗口可以播放多媒体文件。<BR>
 (11)在 ID_PLAYREVERSE 的消息响应函数中加入:<BR>
     MCIWndPlayReverse(m_mciWnd);<BR>
   MCIWnd子窗口可以倒着播放视频多媒体文件。<BR>
 (12)在 ID_RECORD 的消息响应函数中加入:<BR>
     MCIWndRecord(m_mciWnd);<BR>
   MCIWnd子窗口可以录制音频多媒体文件。<BR>
 (13)在 ID_SAVE 的消息响应函数中加入:<BR>
     MCIWndSave(m_mciWnd,"c:\\MyWav.wav");<BR>
   MCIWnd子窗口可以保存已录制的音频多媒体文件。<BR>
 (14)在 ID_STOP 的消息响应函数中加入:<BR>
     MCIWndStop(m_mciWnd);<BR>
   MCIWnd子窗口可以停止正在播放或录制的多媒体文件。<BR>
 (15)在 ID_CLOSE 的消息响应函数中加入:<BR>
     MCIWndClose(m_mciWnd);<BR>
   MCIWnd子窗口可以关闭当前的多媒体文件,若要再使用,必须重新打开。<BR>
 (16)编译运行。<BR><BR>
<p></p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -