SỐ 190
KINH NGHIỆM LẬP TRÌNH

Chơi nhạc MP3 trên Visual Foxpro 6.0

Đó hỏi: Mong e-CHÍP gỡ rối cho mình các vấn đề như sau trên cả Foxpro 2.6 for Windows và Visual Foxpro 6.0:

1. Làm thế nào để lưu (và nghe) một bài hát dạng nhạc nén MP3 vào một mục tin (field) có kiểu General của một bảng dữ liệu DBF?
2. Lệnh SAY sẽ có tham số màu như thế nào để chỉ ghi một dãy ký tự lên nền một hình ảnh?
3. Để hiển thị nội dung mục tin MEMO theo phông chữ Việt khi xem bằng lệnh BROWSE, ta cần tham số gì?
Chương Can Chíp trả lời:
Tui năn nỉ bà con đừng xài Foxpro 2.6 for Windows nữa khi mà Visual Foxpro đã đạt đến đai “cửu đẳng” (phiên bản 9.0) rồi. Tui đã vật lộn với Foxpro từ hồi “for DOS” và từng hài lòng với những gì Visual Foxpro 6.0 mang đến. Cho nên tui chỉ trình bày vấn đề trên Visual Foxpro 6.0.
1. Để lưu một bài hát dạng nhạc nén MP3 (ví dụ: GodFather.MP3) vào một mục tin (ví dụ: BaiHat) có kiểu General, bà con có thể xài lệnh sau:
APPEND GENERAL BaiHat FROM GodFather.MP3
Sau đó, để nghe bản nhạc này, bà con phải tạo một biểu mẫu rồi đặt lên đó một đối tượng OLEBoundControl (ví dụ có tên là oleBaiHat) có thuộc tính ControlSource là tên của mục tin BaiHat. Mỗi lần người dùng bấm kép vào đối tượng này thì họ được nghe bản nhạc. Dĩ nhiên, trên máy cần phải có công cụ chơi nhạc MP3. Nếu bà con muốn xài lệnh lập trình để chơi bản nhạc thì đặt thuộc tính cho oleBaiHat như sau: AutoActivate = 0AutoVerbMenu = .F. rồi dùng hành vi DoVerb(-2) để chơi.
Cách lưu bài hát vào mục tin General có nhược điểm là cửa sổ phần mềm chơi nhạc xuất hiện khi bài hát được chơi và kích thước DBF rất lớn nên không hiệu quả. Tui đề xuất cách này: lưu tên tập tin chứa bản nhạc vào một mục tin kiểu Character (ví dụ: cBaiHat). Trên biểu mẫu, thiết kế một ActiveX Control có thể chơi MP3 được, ví dụ: Windows Media Player (có sẵn khi cài đặt Windows), như sau:
• Để bổ sung ActiveX Control này vào hộp công cụ Form Controls, bà con chọn mục Options trên trình đơn Tools. Trên hộp thoại Options, chọn thẻ Controls, chọn mục ActiveX Controls. Trên danh sách Selected, chọn Windows Media Player rồi chọn OK.
• Bấm View Classes trên hộp công cụ Form Controls, chọn mục ActiveX Controls trên trình đơn đi kèm nút này để hộp công cụ xuất hiện (hình 1).
• Chọn công cụ cây-búa-và-mỏ-lết để vẽ một ô điều khiển có tên oleWMPlayer với thuộc tính Visible là .F.
• Dòng lệnh để chơi bản nhạc là:
oleWMPlayer.FileName = cBaiHat
oleWMPlayer.Play
• Muốn tắt nhạc thì dùng: oleWMPlayer.Stop.

Hình 1

2. Các lệnh @... SAY/GET đã được đưa vào... “bộ quên” rồi, giờ đây bà con chỉ cần đặt một ô nhãn (label control) lên trên ô hình ảnh (image control) chứa ảnh cần hiển thị, rồi xài thuộc tính Caption của ô nhãn để hiển thị chữ.
3. Cửa sổ hiển thị nội dung mục tin kiểu MEMO được dùng chung cho mọi ứng dụng và độc lập với lệnh BROWSE, nghĩa là nếu bà con xài lệnh BROWSE FONT “Vietnam” thì chỉ có các mục tin kiểu Character chịu ép-phê phông chữ “Vietnam”, còn phông chữ cho cửa sổ mục tin MEMO vẫn là Arial. Để thay đổi, khi xem nội dung mục tin MEMO, bà con bấm-phải trên cửa sổ này rồi chọn mục Properties trên trình đơn vụt ra sau đó. Trên hộp thoại Edit Properties (hình 2), bà con chọn nút ba-chấm tại mục Font để xác định phông chữ cho cửa sổ soạn thảo. Cuối cùng, bụp vào Save preferencesApply to memos rồi OK. Và phải “mần” chuyện này trên mỗi máy tính có xài ứng dụng của bà con (mệt!).
Nói thiệt chứ xài kiểu này... lạc hậu lắm, bà con phải xài ô điều khiển Grid kết hợp với ô điều khiển Edit mới đúng là... sành điệu!
Hình 2

HAI ẨU

[Đầu trang]
Trang chủ
Nội lực "Peter Pan"
Cầu nối Intel Việt Nam
Chuyện trong tuần
Cõi người ta
Bình luận thị trường
Cõi Mô-bai
Chuyên đề
Bổ ngửa
Túi càn khôn IT
Hồ lô biến
Cảm về Game
Nhật ký e-CHÍP
Bản quyền Công ty Phần mềm & Truyền thông VASC
 99 Triệu Việt Vương HN; Tel: (04) 9782235 • email: echip@vasc.com.vn
Mọi chi tiết về kinh doanh và quảng cáo xin liên hệ Phòng Quảng cáo. Tel: (04) 9782077 kd@vasc.com.vn