Microsoft ActiveX 控件,內建 MPEG 音/視訊解碼器,支援 WAV、MIDI、CD 音軌、AVI、MPEG 等格式。右鍵選單可直接控制播放/暫停/停止,屬性頁可設定全螢幕、音量平衡等。
| 功能 | 方法/屬性 |
|---|---|
| 播放/暫停/停止 | Run(), Pause(), Stop() |
| 檔案設定/取得 | SetFileName(), GetFileName() |
| 播放位置 | SetCurrentPosition(), GetCurrentPosition() (秒) |
| 音量控制 | SetVolume(), GetVolume() (-10000~0) |
| 自動播放 | SetAutoStart(TRUE) |
Player,放入 ActiveMovie Control(IDC_ACTIVEMOVIE)、三按鈕(選擇曲目/循環播放/關閉)、一列表框(IDC_LIST)。m_ActiveMovie、按鈕/列表框變數。CFileDialog 多選,將完整路徑加入列表框。OnTimer 檢測 GetCurrentPosition()==0 判斷播放結束,取列表第一項播放並移至列表末尾:void CPlayerDlg::OnTimer(UINT nIDEvent) {
double pos = m_ActiveMovie.GetCurrentPosition();
if (pos == 0) { // 播放結束或剛開始
CString file; m_list.GetText(0, file);
m_ActiveMovie.SetAutoStart(TRUE);
m_ActiveMovie.SetFileName(file);
m_ActiveMovie.Run();
m_list.DeleteString(0);
m_list.InsertString(-1, file); // 移至尾部實現循環
}
CDialog::OnTimer(nIDEvent);
}
void CPlayerDlg::OnPlay() { SetTimer(0, 500, NULL); }
void CPlayerDlg::OnClose() { KillTimer(0); m_ActiveMovie.Stop(); }
擴充功能(暫停、音量、全螢幕、平衡)皆可透過上表方法實現。