- MM_HIMETRIC qui định đơn vị đo
Nhiều devices hỗ trợ thêm các lệnh đặc biệt bổ sung mở rộng
bổ sung mở rộng
Qui trình xử lý chung của MCI
Summer 2004
C4W - MultiMedia - Nguyen Tri Tuan - DH.KHTN Tp.HCM 19 Thư viện MCI - MCI Command String
Điều khiển thiết bị Multi-Media bằng câu lệnh ở
dạng chuỗi
Các câu lệnh bắt đầu bằng từ khóa open, play, stop,…
Ứng với mỗi tác vụ khác nhau chúng ta sẽ có câu lệnh với các định dạng khác nhau nhưng nhìn chung chúng có cùng một cấu trúc tổng quát (ngoại trừ tác vụ open).
Câu lệnh được gởi đến thiết bị thông qua hàm
mciSendString,định nghĩa trong thư viện
<Winmm.lib>
Thư viện MCI - MCI Command String…(tt)
MCIERROR mciSendString(LPCTSTR lpszCommand, LPTSTR lpszReturnString, UINT cchReturn,
HANDLE hwndCallback);
lpszCommand: Chuỗi câu lệnh gởi tới các thiết bị
multimedia để yêu cầu thực hiện các thao tác: close,
play, stop…
wsprintf(lpszCommand, "Tên tác vụ %s [%s] %s", lpszDeviceID, <Các cờ đặc biệt dành riêng có thể có hoặc không>, lpszFlags);
lpszDeviceID: Là số ID dùng xác định thiết bị MCI. ID này cũng chính là Alias được gán trong câu lệnh mở (open) thiết bị
Summer 2004
C4W - MultiMedia - Nguyen Tri Tuan - DH.KHTN Tp.HCM 21 Thư viện MCI - MCI Command String…(tt)
mciSendString…(tt)
lpszReturnString: Chuỗi chứa thông tin phản hồi từ thiết bị media (=NULL nếu ta không quan tâm đến thông tin phản hồi)
cchReturn:Độdài tính theo sốkí tựcủa
lpszReturnString
hwndCallback: Handle của cửa sổđể xử lí các message do thiết bị multimedia gởi mỗi khi có sự kiện nào đó (như chơi hết file, đóng file,…).
Tham số náy chỉ có ý nghĩa khi trong câu lệnh gởi tới thiết bị có chứa cờ notify.
Message được gởi là MM_MCINOTIFY
= NULL nếu không quan tâm đến việc nhận message phản hồi
Thư viện MCI - MCI Command String…(tt)
VD1.Mở thiết bị char szMCIString[128]; char szDevType[30]; char szFileName[128]; MCIERROR dwReturn; strcpy(szFileName,"C:/Windows/Windows_Start.wav"); strcpy(szDevType, "waveaudio");
sprintf(szMCIString, "open %s type %s alias MyWAV", szFileName, szDevType);
dwReturn = mciSendString(szMCIString, NULL, 0, NULL); VD2. Play
mciSendString("play MyWAV notify", NULL, 0, m_hWnd); VD3. Ngừng play
mciSendString("stop MyWAV", NULL, 0, NULL);
Summer 2004
C4W - MultiMedia - Nguyen Tri Tuan - DH.KHTN Tp.HCM 23 Thư viện MCI - MCI Command String…(tt)
Chọn loại thiết bị trong cú pháp lệnh Command String
type waveaudio Wave audio type videodisc Video-Disc player type vcr Video-cassete recorder type sequencer MIDI type digitalvideo Digital-video playback type cdaudio CD Audio Từ khóa Loại thiết bị
Thư viện MCI - MCI Command String…(tt)
Ưu điểm
Lệnh bằng ngôn ngữ tự nhiên dễ hiểu
Khuyết điểm
Không xử lý được các file có tên chứa khoảng trắng
Summer 2004
C4W - MultiMedia - Nguyen Tri Tuan - DH.KHTN Tp.HCM 25 Thư viện MCI - MCI Command Message