" />
  • Thứ Sáu, 19/10/2007 09:55 (GMT+7)

    Lập trình hiển thị các nút chức năng ActiveX "Windows Media Player" (WMP)

    Câu hỏi :
    Tôi dùng ActiveX "Windows Media Player" (WMP) để viết chương trình VB nghe nhạc, nhưng không biết cách tạo thanh điều chỉnh âm lượng, nút Pause và Stop mà không hiện điều khiển của WMP.



    Trả lời :

    Về nguyên tắc, để có thể dùng được 1 linh kiện phần mềm nào đó, bạn cần tìm hiểu nắm vững giao tiếp sử dụng của nó. Giao tiếp sử dụng (interface) của 1 linh kiện là tập các tác vụ và thuộc tính của linh kiện mà người dùng có thể truy xuất từ ngoài. Sau khi đã nắm vững được interface của linh kiện rồi, bạn mới có thể gọi 1 tác vụ hay truy xuất 1 thuộc tính nào đó theo đúng yêu cầu của mình. Tóm lại muốn sử dụng tốt ActiveX "Windows Media Player" (WMP) của Microsoft, trước hết bạn hãy tìm hiểu interface của nó, bạn có thể tìm được đầy đủ thông tin này trong CD MSDN của Microsoft.

     ActiveX là loại linh kiện có form giao diện để người dùng đầu cuối có thể tương tác trực tiếp với nó (ngoài việc ứng dụng có thể tương tác theo cơ chế lập trình với nó), do đó tốt nhất là ứng dụng nên hiển thị cửa sổ của ActiveX. Cụ thể ActiveX WMP của Microsoft cung cấp nhiều tác vụ để người lập trình có thể cá nhân hóa giao diện của nó hay ẩn hoàn toàn nó nếu cần thiết. Thí dụ, nếu muốn ẩn mọi phần tử điều khiển của WMP chỉ hiển thị vùng dữ liệu (ảnh bitmap, video), bạn có thể dùng lệnh gán sau:

     'xác định chế độ hiển thị của WMP1 là "none"
     WMP1.uiMode = "none"

    Ở chế độ hiển thị như trên, người dùng không còn khả năng điều khiển trực tiếp hoạt động của WMP. Bạn có thể tạo các button lệnh trong form ứng dụng rồi viết thủ tục xử lý sự kiện cho các button đó theo yêu cầu riêng. Thí dụ sau đây là 4 thủ tục xử lý cho 4 button lệnh Start, Play, Stop, Pause:

     Private Sub btnStart_Click()
     WMP1.uiMode = "none"
     WMP1.URL = "c:\vcd\conbo.dat"
     End Sub
     Private Sub btnPlay_Click()
     WMP1.Controls.play
     End Sub
     Private Sub btnPause_Click()
     WMP1.Controls.pause
     End Sub
     Private Sub btnStop_Click()
     WMP1.Controls.stop
     End Sub
     

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