//typedef struct {
//DWORD dwCallback; //指定一個窗口句柄
//MCIDEVICEID wDeviceID; //為成功打開的文件返回 設備標識符.
//LPCSTR lpstrDeviceType; //設備類型的名字或常量標識. (設備名可以從注冊表或者 SYSTEM.INI 文件中獲得)
//LPCSTR lpstrElementName; //設備元素 (通常是打開的文件全路徑).
//LPCSTR lpstrAlias//可選別名
//DWORD dwBufferSeconds;
//} MCI_WAVE_OPEN_PARMS;
//播放文件
//typedef struct {
//DWORD dwCallback;//指定一個窗口句柄
//DWORD dwFrom;//設置播放起始點
//DWORD dwTo;//設置播放結束點
//} MCI_PLAY_PARMS;
//查詢信息
//typedef struct {
//DWORD dwCallback;
//DWORD dwReturn;//返回的信息內容
//DWORD dwItem;//請求查詢的內容
//DWORD dwTrack;//軌道的長度或數目
//} MCI_STATUS_PARMS;
/*
* 函數名稱:MCI_Open
* 函數介紹:用mci命令打開文件
* 輸入參數:CString strPath, 文件的路徑
* 輸出參數:無
* 返回值 :mci命令的錯誤信息
*/
- DWORD dlg_login::MCIOpen(const CString &strPath)
- {
- //打開MCI設備
- MCI_OPEN_PARMS mciOP;
- DWORD opReturn;
- MCIDEVICEID wIDDevioce; //保存設備ID
- mciOP.lpstrDeviceType = NULL;
- mciOP.lpstrElementName = strPath; //設置打開的文件的名稱
- opReturn = mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_ELEMENT, (DWORD)(LPVOID)&mciOP);
- if (opReturn == 0)
- {
- wIDDevioce = mciOP.wDeviceID;//播放設備Id
- wDevioceId = mciOP.wDeviceID;
- //設置設備信息
- MCI_SET_PARMS mciSet;
- mciSet.dwTimeFormat = MCI_FORMAT_MILLISECONDS; //設置時間單位為毫秒
- mciSendCommand(wDevioceId, MCI_SET, MCI_SET_TIME_FORMAT, (DWORD)(LPVOID)&mciSet);
- //設置當前播放位置跳轉60秒
- MCISeek(100);
- //音頻播放
- MCIPlay();
- MCI_STATUS_PARMS mciStatus;
- mciStatus.dwItem = MCI_STATUS_TIME_FORMAT;
- DWORD sta2Return = mciSendCommand(wIDDevioce, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
- DWORD music_timestyle = mciStatus.dwReturn; //獲得當前的時間格式
- mciStatus.dwItem = MCI_STATUS_MODE;
- DWORD sta3Return = mciSendCommand(wIDDevioce, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
- DWORD music_playstyle = mciStatus.dwReturn; //獲得當前播放工作模式 播放 526 暫停525
- }
- else
- wIDDevioce = NULL;
- return opReturn;
- }
DWORD dlg_login::MCIOpen(const CString &strPath)
{
//打開MCI設備
MCI_OPEN_PARMS mciOP;
DWORD opReturn;
MCIDEVICEID wIDDevioce; //保存設備ID
mciOP.lpstrDeviceType = NULL;
mciOP.lpstrElementName = strPath; //設置打開的文件的名稱
opReturn = mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_ELEMENT, (DWORD)(LPVOID)&mciOP);
if (opReturn == 0)
{
wIDDevioce = mciOP.wDeviceID;//播放設備Id
wDevioceId = mciOP.wDeviceID;
//設置設備信息
MCI_SET_PARMS mciSet;
mciSet.dwTimeFormat = MCI_FORMAT_MILLISECONDS; //設置時間單位為毫秒
mciSendCommand(wDevioceId, MCI_SET, MCI_SET_TIME_FORMAT, (DWORD)(LPVOID)&mciSet);
//設置當前播放位置跳轉60秒
MCISeek(100);
//音頻播放
MCIPlay();
MCI_STATUS_PARMS mciStatus;
mciStatus.dwItem = MCI_STATUS_TIME_FORMAT;
DWORD sta2Return = mciSendCommand(wIDDevioce, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
DWORD music_timestyle = mciStatus.dwReturn; //獲得當前的時間格式
mciStatus.dwItem = MCI_STATUS_MODE;
DWORD sta3Return = mciSendCommand(wIDDevioce, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
DWORD music_playstyle = mciStatus.dwReturn; //獲得當前播放工作模式 播放 526 暫停525
}
else
wIDDevioce = NULL;
return opReturn;
}
- DWORD dlg_login::MCIPlay()
- {
- MCI_PLAY_PARMS mciPP;
- DWORD opReturn;
- opReturn = mciSendCommand(wDevioceId, MCI_PLAY, MCI_NOTIFY, (DWORD)&mciPP);
- return opReturn;
- }
DWORD dlg_login::MCIPlay()
{
MCI_PLAY_PARMS mciPP;
DWORD opReturn;
opReturn = mciSendCommand(wDevioceId, MCI_PLAY, MCI_NOTIFY, (DWORD)&mciPP);
return opReturn;
}
- DWORD dlg_login::MCIStatus_music_length()
- {
- MCI_STATUS_PARMS mciStatus;
- mciStatus.dwItem = MCI_STATUS_LENGTH;
- DWORD staReturn = mciSendCommand(wDevioceId, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
- DWORD music_alltime = mciStatus.dwReturn / 1000; //音樂總時間
- return music_alltime;
- }
DWORD dlg_login::MCIStatus_music_length()
{
MCI_STATUS_PARMS mciStatus;
mciStatus.dwItem = MCI_STATUS_LENGTH;
DWORD staReturn = mciSendCommand(wDevioceId, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
DWORD music_alltime = mciStatus.dwReturn / 1000; //音樂總時間
return music_alltime;
}
- DWORD dlg_login::MCIStatus_music_pos()
- {
- MCI_STATUS_PARMS mciStatus;
- mciStatus.dwItem = MCI_STATUS_POSITION;
- DWORD sta1Return = mciSendCommand(wDevioceId, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
- DWORD music_timeing = mciStatus.dwReturn / 1000; //音樂當前播放時間
- return music_timeing;
- }
DWORD dlg_login::MCIStatus_music_pos()
{
MCI_STATUS_PARMS mciStatus;
mciStatus.dwItem = MCI_STATUS_POSITION;
DWORD sta1Return = mciSendCommand(wDevioceId, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
DWORD music_timeing = mciStatus.dwReturn / 1000; //音樂當前播放時間
return music_timeing;
}
- //從制定位置開始播放
- void send_music_from_pos()
- {
- MCI_STATUS_PARMS mciStatus;
- mciStatus.dwItem = MCI_STATUS_POSITION;
- DWORD sta1Return = mciSendCommand(wDevioceId, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
- DWORD music_timeing = mciStatus.dwReturn / 1000; //音樂當前播放時間
- MCI_PLAY_PARMS PlayParms;
- PlayParms.dwFrom = music_timeing; // 指定從什么地方(時間)播放
- DWORD ret1 = mciSendCommand(wDevioceId, MCI_PLAY, MCI_NOTIFY, (DWORD)(LPVOID)&PlayParms);
- }
//從制定位置開始播放
void send_music_from_pos()
{
MCI_STATUS_PARMS mciStatus;
mciStatus.dwItem = MCI_STATUS_POSITION;
DWORD sta1Return = mciSendCommand(wDevioceId, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
DWORD music_timeing = mciStatus.dwReturn / 1000; //音樂當前播放時間
MCI_PLAY_PARMS PlayParms;
PlayParms.dwFrom = music_timeing; // 指定從什么地方(時間)播放
DWORD ret1 = mciSendCommand(wDevioceId, MCI_PLAY, MCI_NOTIFY, (DWORD)(LPVOID)&PlayParms);
}
//關閉指定設備
void close_mci()
{
DWORD retclose=mciSendCommand(wDevioceId, MCI_CLOSE, NULL, NULL);
}
- //調節音量
- DWORD dlg_login::MCISetVolume(DWORD dwVol)
- {
- MCI_DGV_SETAUDIO_PARMS mciSetAudioPara;
- mciSetAudioPara.dwCallback = NULL;
- mciSetAudioPara.dwItem = MCI_DGV_SETAUDIO_VOLUME;
- mciSetAudioPara.dwValue = dwVol; //此處就是音量大小 (0--1000)
- DWORD dwReturn = mciSendCommand(wDevioceId, MCI_SETAUDIO, MCI_DGV_SETAUDIO_VALUE | MCI_DGV_SETAUDIO_ITEM, (DWORD)(LPVOID)&mciSetAudioPara);
- return dwReturn;
- }
//調節音量
DWORD dlg_login::MCISetVolume(DWORD dwVol)
{
MCI_DGV_SETAUDIO_PARMS mciSetAudioPara;
mciSetAudioPara.dwCallback = NULL;
mciSetAudioPara.dwItem = MCI_DGV_SETAUDIO_VOLUME;
mciSetAudioPara.dwValue = dwVol; //此處就是音量大小 (0--1000)
DWORD dwReturn = mciSendCommand(wDevioceId, MCI_SETAUDIO, MCI_DGV_SETAUDIO_VALUE | MCI_DGV_SETAUDIO_ITEM, (DWORD)(LPVOID)&mciSetAudioPara);
return dwReturn;
}
jpg改rar 

