Phần này tôi sẽ hướng dẫn các bạn cách add data XM music vào resource của file EXE và chơi nhạc khi chương trình Runing. | Benina s TutASM 3 Playing XM Music From Masm s EXE - Ver Author Benina Benina s TutASM 3 PLAYING XM MUSIC FROM MASM S EXE Author Benina Phần này tôi sẽ hướng dẫn các bạn cách add data XM music vào resource của file EXE và chơi nhạc khi chương trình Runing. Tool RadASM MASM32 Dowload source here http benina files Lý thuyết Trước hết các bạn phải có 2 file thư viện và chứa code để chơi nhạc. File thư viện chứa một hàm được định nghĩa trong mfmPlay PROTO DWORD Hàm này có tên là mfmPlay lấy một tham số DWORD là con trỏ đến dữ liệu music trong memory. Hàm này yêu cầu một dword đầu tiên được trỏ đến bởi tham số hàm nó chính là là kích thức size của data music. Nếu tham số là con trỏ đến dữ liệu music thì nó bắt đầu chơi nhạc. Nếu tham số là 0 thì music sẽ stop. Thư viện này chỉ đơn giản vậy thôi. Nhưng trước hết để ta sử dụng lâu dài hàm thư viện này khi lập trình ta hảy copy file vào thư mục C masm32 include chứa chương trình MASM32 và file vào thư mục C masm32 lib. Sau khi làm xong chúng ta có thể sử dụng dịch vụ của nó được rồi đó. Tôi xin tóm tắt các bước để chơi music như sau 1. Lấy handle của resource music sử dụng hàm FindResource 2. Load resource trong memory sử dụng hàm LoadResource 3. Nhưng như đã nói về hàm mfmPlay nó cần một Dword nằm trong memory đầu tiên first Dword chứa size của resource. Để giải quyết vấn đề này chúng ta sẽ định ra một vùng nhớ mới dùng hàm GlobalAlloc và write size của resource đến first Dword của vùng nhớ mới vừa định. Do có thêm 1 dword để lưu size nên vùng nhớ mới lớn hơn resource music 1 dword. Kế đến chúng ta copy resource từng byte từng byte một vào memory chúng ta mới định ra trước đó. 4. Cuối cùng chúng ta play music với hàm mfmPlay. 5. Khi chương trình kết thúc chúng ta cho nhạc tắt theo bằng cách gọi hàm mfmPlay với tham số là 0 Trang 1 8 Benina s TutASM 3 Playing XM Music From Masm s EXE - Ver Author Benina .