1
Lập trình C trên Windows
Thư viện lập trình
Multi-Media
Nguyễn Tri Tuấn
Khoa CNTT – ĐH.KHTN.Tp.HCM
Email: nttuan@ fit.hcmuns.edu.vn
Summer 2004C4W - MultiMedia - Nguyen Tri Tuan - DH.KHTN Tp.HCM 2
Nội dung
Mục tiêu
Các kiến thức cơ bản về Multi-Media
Các thư viện lập trình Multi-Media trên
Windows
PlaySound
Thư viện MCI
2
Summer 2004C4W - MultiMedia - Nguyen Tri Tuan - DH.KHTN Tp.HCM 3
Mục tiêu
Giới thiệu các kiến thức khái quát về Multi-Media
Giới thiệu các thư viện lập trình điều khiển thiết bị
Multi-Media trên HĐH Windows
Trình bày chi tiết thư viện PlaySound, MCI
WAV (Waveform Audio):
Được tạo ra bằng cách thu âm trực tiếp
Quá trình thu được thực hiện bằng cách lấy mẫu rời rạc
sau mỗi chu kỳ thời gian…
… và được mã hoá bằng các giải thuật PCM (Pulse
Code Modulation) hay ADPCM (Adaptive Pulse Code
Modulation)
Mật độ lấy mẫu, lượng thông tin lưu trên mẫu (8,16, hay
32 bits) sẽ quyết định chất lượng âm thanh
Waveform audio
Windows (.wav)
Sun (Unix) (.au)
Summer 2004C4W - MultiMedia - Nguyen Tri Tuan - DH.KHTN Tp.HCM 6
Các kiến thức khái quát về Multi-Media…(tt)
MIDI:
Dùng để ghi, phát, soạn thảo âm thanh được
tạo bởi các nhạc cụ điện tử
Ứng với mỗi nốt nhạc và các dụng cụ nhạc khí
tạo ra nó, MIDI sẻ gán cho một số tương ứng,
cũng giống như cách những kí tự được tượng
trưng bởi một số trong mã ASCII
MCIWnd Window class
(MSDN / Platform SDK / Graphics and Multi-media services /
Windows Multi-media / Multi-media Audio / MCIWnd Window class)
Thư viện MIDI (Musical Instrument Digital Interface)
(MSDN / Platform SDK / Graphics and Multi-media services /
Windows Multi-media / Multi-media Audio / MIDI)
Wave-form Audio
(MSDN / Platform SDK / Graphics and Multi-media services /
Windows Multi-media / Multi-media Audio / Wave-form Audio)
Windows Media Player
DirectX
(MSDN / Platform SDK / Graphics and Multi-media services /
DirectX)
5
Summer 2004C4W - MultiMedia - Nguyen Tri Tuan - DH.KHTN Tp.HCM 9
Các thư viện lập trình Multi-Media trên Windows…(tt)
Chọn lựa thư viện cho ứng dụng
Application
có nhu cầu sử dụng
Multi-Media
MCIWnd Class
Wave-Form Audio,
MIDI
MCI
Yêu cầu Playback
đơn giản
VD2. Play nhạc theo kiểu Background
PlaySound("C:/CHORD.WAV", 0, SND_ASYNC |
SND_FILENAME);
VD3. Play nhạc theo dạng lặp lại
PlaySound("C:/CHORD.WAV", 0, SND_LOOP |
SND_ASYNC | SND_FILENAME);
VD4. Ngừng play
PlaySound(0, 0, 0);
Summer 2004C4W - MultiMedia - Nguyen Tri Tuan - DH.KHTN Tp.HCM 12
PlaySound…(tt)
VD5. Play Waveform theo các khoá trong section
[Sound] của WIN.INI
// WIN.INI
// [Sound]
// MouseClick = C:\CHORD.WAV
PlaySound("MouseClick", 0, SND_ALIAS |
SND_NODEFAULT);
VD6. Play file WAVE được add sẵn trong
resources
// resource
// IDR_WAVE1 WAVE DISCARDABLE "c:/chord.wav"
// IDR_WAVE1 129
PlaySound("#129", 0, SND_RESOURCE |
SND_NODEFAULT);