1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÁ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

13 1,3K 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 0,91 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

BÁ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 2

GIỚI THIỆU

Trang 3

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

Trang 4

Cấ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 5

Cấ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 6

Cấ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 7

Cá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 8

Cá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 9

OUTPUT 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 10

PianoControl

đố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 11

SEQUENCE

kiện ProgressChanged

LoadComplete và được thông báo bằng MessageBox

Trang 12

SEQUENCER

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 13

Cảm ơn sự chú ý của thầy và các

bạn đã lắng nghe…

Ngày đăng: 12/04/2015, 14:12

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w