2013年3月22日星期五

VC++之多媒体编程之录音

一、创建对话框应用程序

二、编辑对话框资源
按钮ID与标题
IDOK4                              退出
IDC_BUTTON_REC         录音
IDC_BUTTON_STOP       停止
IDC_BUTTON_PLAY         播放

三、添加变量、函数
       1、添加变量

       2、添加函数

四、添加代码
       1、在“stdafx.h”文件内添加包含语句
// stdafx.h : include file for standard system include files,......
#include<vfw.h>
#pragma comment(lib,"vfw32.lib")
//{{AFX_INSERT_LOCATION}}
#endif
       2、为函数添加代码
void CMusicDlg::OnButtonPlay()
{
// TODO: Add your control notification handler code here
   if(MCIWndCanPlay(musicget))//判断是否可以播放
   MCIWndPlay(musicget);
}
void CMusicDlg::OnButtonRec()
{
// TODO: Add your control notification handler code here
MCIWndClose(musicget);
musicget=MCIWndCreate(this->m_hWnd,::AfxGetApp()->m_hInstance,WS_CAPTION,NULL);
MCIWndNew(musicget,"waveaudio"); //打开录音设备
    if(MCIWndCanRecord(musicget))     //判断是否可以录音
      MCIWndRecord(musicget);       //录音
}
void CMusicDlg::OnButtonStop()
{
// TODO: Add your control notification handler code here
   MCIWndStop(musicget);
}
void CMusicDlg::OnOk4()
{
// TODO: Add your control notification handler code here
CDialog::OnOK();
}
五、编译
六、运行

七、函数说明
       1、MCIWndCreate函数声明
        HWND MCIWndCreate(HWND hwndParaent,HINSTANCE hInstance,DWORD dwStyle,LPSTR szFilw)
       hwndParent:指向父窗口的句柄。
       hInstance:与MCIWnd窗口相关联的模块实例。
       dwStyle:窗口风格。
       szFile:包含MCI设备和将打开文件名的字符串指针。
       功能:注册MCI窗口类,同时创建一使用MCI服务的MCIWnd窗口。函数调用成功,返回MCI窗口句柄。
        2、MCEWndNew宏声明
       LONG MCIWndNew(hwnd,lp)
       hwnd:指向MCIWnd窗口的句柄。
       ip:包含MCI设备名的指向内存的指针。
       功能:创建一新文件用于当前MCI设备。可以使用该宏发送一MCEWND_NEW消息。函数调用成功,返回零。
       3、MCIWndCanRecord函数声明
        BOOL MCIWndCanRecord(hwnd)
        hwnd:指向MCIWnd窗口的句柄。
        功能:判断一MCI设备是否支持录音,可以使用该宏发送一MCEWNDM_CAN_RECORD消息。设备支持录音,返回TRUE;否则返回FALSE。
       4、MCIWndRecord函数声明
      LONG MCIWndRecord(hwnd)
        hwnd:指向MCIWnd窗口的句柄。
        功能:MCI设备开始录音。函数调用成功,返回零值。
       5、MCIWndPlay函数声明
        LONG MCIWndPlay(hwnd)
        hwnd:指向MCIWnd窗口的句柄。
        功能:发一命令给MCI设备开始播放。函数调用成功,返回零值。

没有评论:

发表评论