久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
VC++音樂庫函數說明及多媒體編程之CD播放器
[打印本頁]
作者:
benbens
時間:
2015-7-15 02:21
標題:
VC++音樂庫函數說明及多媒體編程之CD播放器
1、mciSendCommand函數聲明
MCIERROR mciSendCommand
(MCIDEVICEID IDDevice,UINT uMsg,DWORD fdwCommand,DWORD_PTP dwParam)
IDDevice:MCI設備標識符,用于接收命令消息。
uMsg:命令消息。
fdwCommand:命令消息風格。
dwParam:命令消息相關參數。
功能:發送一命令消息到指定MCI設備。函數調用成功,返回零值;否則返回零。
2、MCI_OPEN_PARMS結構聲明
typedef struct
{
DWORD_PTR dwCallback;
MCIDEVICED wDeviceID;
LPCTSTR lpstrDeviceType;
LPCTSTR lpstrElementName;
LPCTSTR lpstrAlias;
}
MCI_OPEN_PARAMS
dwCallback:用于MCI_NOTIFY風格的窗口句柄。
wDeviceID:設備ID號。
lpstrDeviceType:設備類型名。
lpstrElementName:設備參數。
lpstrAlias:設備別名。
功能:包含MCI_OPEN信息。
3、MCI_STATUS_PARMS結構聲明
typedef struct
{
DWORD_PTR dwCallback;
DWORD dwReturn;
DWORD dwItem;
DWORD dwTrack;
}
MCI_STATUS_PARMS
dwCallback:用于MCI_NOTIFY風格的窗口句柄。
dwReturn:包含將返回的信息。
dwItem:詢問內容。
dwTrack:Track的長度。
功能:包含MCI_STATUS命令信息。
4、MCI_SET_PARMS結構聲明
typedef struct
{
DWORD_PTR dwCallback;
DWORD dwTimeFormat;
DWORD dwAudio;
}
MCI_SET_PARMS
dwCallback:用于MCI_NOTIFY風格的窗口句柄。
dwTimeFormat:設備格式。
dwAudio:音頻輸出信道。
功能:包含MCI_SET命令信息。
5、MCI_PLAY_PARMS結構聲明
typedef struct
{
DWORD_PTR dwCallback;
DWORD dwFrom;
DWORD dwTo;
}
MCI_PLAY_PARMS
dwCallback:用于MCI_NOTIFY風格的窗口句柄。
dwFrom:開始播放位置。
dwTo:結束播放位置。
功能:包含MCI_PALY命令信息。
一、創建對話框應用程序
二、編輯對話框資源
三、添加變量、函數
1、添加變量
2、添加函數
a、添加成員函數
b、添加消息響應函數
四、添加庫模塊
五、添加代碼
1、添加包含語句:
// CD播放器Dlg.cpp : implementation file
#include "stdafx.h"
#include "CD播放器.h"
#include "CD播放器Dlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#include <MMSystem.h>
2、為函數添加代碼:
BOOL CCDPlayerDlg::DestroyWindow()
{
// TODO: Add your specialized code here and/or call the base class
::mciSendCommand (m_wDeviceID, MCI_STOP, NULL, NULL);
::mciSendCommand (m_wDeviceID, MCI_CLOSE, MCI_WAIT, NULL);
return CDialog::DestroyWindow();
}
void CCDPlayerDlg::OnExit()
{
// TODO: Add your control notification handler code here
this->OnCancel();
}
void CCDPlayerDlg::OnPlay()
{
// TODO: Add your control notification handler code here
MCI_OPEN_PARMS OpenParms;
OpenParms.lpstrDeviceType = (LPCSTR) MCI_DEVTYPE_CD_AUDIO;
int ireturn=0;
ireturn=::mciSendCommand (NULL,
MCI_OPEN,
MCI_WAIT | MCI_OPEN_SHAREABLE|
MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID ,
(DWORD)(LPVOID) &OpenParms); //打開MCI設備
if(ireturn==0)
{
m_wDeviceID=OpenParms.wDeviceID;
MCI_STATUS_PARMS StatusParms;
StatusParms.dwItem=MCI_STATUS_MEDIA_PRESENT;
ireturn=::mciSendCommand (m_wDeviceID,
MCI_STATUS, MCI_STATUS_ITEM,
(DWORD)(LPVOID) &StatusParms); //獲得設備的信息
if(ireturn==0)
{
StatusParms.dwItem = MCI_STATUS_NUMBER_OF_TRACKS;
mciSendCommand (m_wDeviceID,
MCI_STATUS, MCI_STATUS_ITEM,
(DWORD)(LPVOID) &StatusParms);
UINT cdnum=StatusParms.dwReturn; //獲得曲目的數量
}
}
MCI_SET_PARMS SetParms;
SetParms.dwTimeFormat = MCI_FORMAT_TMSF;
::mciSendCommand (m_wDeviceID,
MCI_SET,
MCI_WAIT | MCI_SET_TIME_FORMAT,
(DWORD)(LPVOID) &SetParms);
::mciSendCommand (m_wDeviceID, MCI_SEEK, MCI_SEEK_TO_START, NULL);
MCI_PLAY_PARMS PlayParms;
PlayParms.dwFrom=MCI_MAKE_TMSF(1,0,0,0); //選擇第一個曲目
::mciSendCommand (m_wDeviceID, MCI_PLAY, MCI_FROM,
(DWORD)(LPVOID) &PlayParms); //播放曲目
}
void CCDPlayerDlg::OnStop()
{
// TODO: Add your control notification handler code here
::mciSendCommand (m_wDeviceID, MCI_STOP, NULL, NULL);
}
void CCDPlayerDlg::OnTray(WPARAM wParam, LPARAM lParam)
{
UINT msg=UINT(lParam);
if(msg==WM_LBUTTONDBLCLK)
{
this->ShowWindow(SW_SHOWNOACTIVATE);
}
}
六、編譯
七、運行
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
超碰人人网
|
精品少妇
|
伊人精品
|
国产黄色免费
|
午夜在线影院
|
蜜桃一区二区
|
一级片在线观看视频
|
手机看片1024日韩
|
欧美a在线
|
亚洲性生活片
|
久久精品导航
|
久久国产精品免费
|
欧美一级在线观看
|
国产精品美女在线观看
|
国产传媒视频在线观看
|
亚洲h网站
|
日韩影院在线观看
|
国产伦精品一区二区三区视频我
|
亚洲成人av在线播放
|
日韩aaaa
|
中国极品少妇xxxx做受
|
欧美在线日韩
|
日本黄色录像
|
中文精品一区
|
色婷婷一区二区三区四区
|
中文字幕在线资源
|
亚洲精品久久久久久久久久久
|
国产91在线播放
|
中文字幕在线免费播放
|
精产国产伦理一二三区
|
久久九九视频
|
午夜视频一区二区三区
|
欧美日韩高清在线
|
成人动漫一区二区
|
国产三级在线观看视频
|
天天草天天
|
99热国产在线
|
黄色一节片
|
欧美精品二区三区四区免费看视频
|
日本a网站
|
亚洲激情在线观看
|