• Thứ Ba, 30/08/2011 15:22 (GMT+7)

    Lập trình phần mềm nghe nhạc bằng C#

    Câu hỏi :

    Tham khảo hướng dẫn lập trình phần mềm nghe nhạc bằng VB 6.0 (http://www.pcworld.com.vn/T1222583), tôi viết 1 chương trình nghe nhạc đơn giản bằng C# sử dụng thư viện winmm.dll nhưng không biết cách làm cho thanh trackbar tự động chạy đúng với vị trí của bài hát đang được phát và tự động phát bài hát tiếp theo khi bài hát đang phát kết thúc trong playlist. Xin hướng dẫn



    Trả lời :

    Chương trình được giới thiệu trong website mà bạn đọc được chúng tôi viết bằng ngôn ngữ VB 6.0. Đây là phần mềm rất đơn giản, demo việc chơi các file multimedia bằng cách dùng đối tượng do Microsoft cung cấp sẵn trong Windows có tên là Windows Media Player (WMP). Có thể nói việc dùng đối tượng WMP là cách đơn giản nhất, tin cậy nhất để chơi được nhiều định dạng file multimedia khác nhau, bản thân ứng dụng chỉ cần thông báo cho WMP biết đường dẫn file cần chơi là nó sẽ tự động chơi dùm, trong quá trình chơi, vị trí của file multimedia cũng được hiển thị tự động trong thanh trackbar (progressbar), ứng dụng không cần quản lý tính năng này.

    Riêng bạn muốn dùng C# và dùng các hàm thư viện cấp thấp trong thư viện winmm.dll để viết chương trình chơi nhạc theo yêu cầu riêng của mình. Trong trường hợp này, để hiển thị được thanh progressbar miêu tả vị trí bài hát theo thời gian, bạn phải tự viết code theo ý tưởng sau:

    - Vẽ đối tượng ProgressBar vào vị trí mong muốn trong form ứng dụng.

    - Vẽ đối tượng Timer vào vị trí nào đó trong form, thiết lập thuộc tính Interval = 1000 (ms) để Timer đếm theo chu kỳ 1s và kích hoạt hàm xử lý sự kiện timeout 1 lần.

    - Viết code cho hàm Timer1_Tick() để vẽ lại vị trí hiện hành của bài hát. Bạn có thể gọi hàm waveOutGetPosition() của thư viện winmm.dll để xác định vị trí hiện hành của bài hát.

    Chuyên mục: Lập trình