GIỚI THIỆU - Đọc và phát được các file có định dạng *.mid - Phím đàn thay đổi theo nhạc khi phát - Sử dụng chuột, bàn phím để tương tác với phím đàn... Các thành phần chính lớp ảo cơ sở,
Trang 1BÁO CÁO BÀI TẬP LỚN LẬP TRÌNH HƯỚNG ĐỐI
TƯỢNG
Ứng dụng chơi nhạc Midi
Nhóm:
Huỳnh Văn Bảo 09910001 Nguyễn Hoàng Duy 09910002
Trang 2GIỚI THIỆU
Trang 3GIỚI THIỆU
- Đọc và phát được các file có định dạng *.mid
- Phím đàn thay đổi theo nhạc khi phát
- Sử dụng chuột, bàn phím để tương tác với phím đàn
Trang 4Cấu trúc chương trình
Class Program: mặc định của hệ thống khi tạo project
Hệ thống class được thiết kế bởi trường
ĐH Sanford (Mỹ)
Trang 5Cấu trúc chương trình
trong bộ công cụ Visual Studio:
- IComponent
- ICollection Các interface tự tạo:
- IClock
- IMessageBuilder
- IMidiMessage
- PianoControl
Trang 6Cấu trúc chương trình
abstract class, sealed class, Interface, enum, struct
hướng đối tượng: kế thừa, kế thừa
giao diện, đóng gói…
các biệt lệ…
Trang 7Các thành phần chính
lớp ảo cơ sở, dùng
để tạo mẫu chung
cho các lớp Device
con phía dưới
Xuất ra
card âm
thanh
Xuất ra file
Trang 8Các thành phần chính
Đối tượng để giả lập đàn piano (interface)
Có chức năng phân
tích file midi
Xử lý các tương tác của các nút chức năng: play, pause,
continue…
Trang 9OUTPUT DEVICE
Có chức năng giống như card âm thanh Tiến trình:
Nhận các thông điệp từ đối tượng ->
qua output Device -> win API: tích hợp trong thư viện wimm.dll -> xuất ra âm
thanh
Trang 10PianoControl
đối tượng khác gừi tới
2) Sau khi control piano nhận được tín hiệu thì sẽ
sinh ra 2 sự kiện Keydown và Keyup
3) 2 sự kiện trên sẽ gửi thông điệp tới
OutputDevice
Trang 11SEQUENCE
kiện ProgressChanged
LoadComplete và được thông báo bằng MessageBox
Trang 12SEQUENCER
Continue…
MidiInternalClock khi đó MidiInternalClock
sẽ sinh ra các sự kiện:
- PlayingCompleted
- ChannelMessagePlayed
- SysExMessagePlayed
- MetaMessagePlayed
- Chased
- Stopped
Khi gọi sự kiện ChannelMessagePlay
ed nó sẽ gửi thông điệp tới Output Device
và Piano
Khi gọi sự kiện chased nó sẽ gửi thông điệp tới Output
Device Khi gọi sự kiện stopped nó sẽ gửi thông điệp tới
Output Device và Piano
Trang 13Cảm ơn sự chú ý của thầy và các
bạn đã lắng nghe…