• Thứ Tư, 08/12/2010 07:25 (GMT+7)

    Điều khiển Windows Media Player bằng hàm API trong VB 6.0

    Từ khóa: VB6
    Câu hỏi :

    Xin hướng dẫn tạo điều khiển Windows Media Player bằng hàm API trong VB 6.0, chạy riêng biệt với chương trình điều khiển VB 6.0.



    Trả lời :

    Trước hết bạn cần phân biệt 2 phần tử:

    1. điều khiển (ActiveX) tên là "Windows Media Player" (viết tắt là WMP) là 1 linh kiện phần mềm do Microsoft cung cấp có chức năng "play" nhiều loại file multimedia khác nhau, nó có giao diện chứa 1 số đối tượng giao diện để có thể tương tác trực tiếp với người dùng. Tuy nhiên bản thân nó, điều khiển WMP không thể tự chạy, nó cần được gắn vào 1 phần tử chứa nào đó (container) như trang web, form giao diện của ứng dụng người dùng,... để có thể hoạt động được.

    2. ứng dụng tên là "Windows Media Player" là 1 chương trình do Microsoft cung cấp có chức năng "play" nhiều loại file multimedia khác nhau, nó là form giao diện có gắn điều khiển WMP bên trong. Ta có thể xem ứng dụng Windows Media Player như là 1 "cò" giao tiếp, cung cấp các đối tượng giao diện thân thiện như menu, toolbar để giúp người dùng giao tiếp dễ dàng, mỗi khi người dùng yêu cầu 1 chức năng nào đó, nó sẽ gọi 1 tác vụ tương ứng của điều khiển WMP làm giúp.

    Tóm lại, ta có thể dùng điều khiển WMP thông qua cơ chế tương tác trực tiếp với các đối tượng giao diện của nó, hoặc ta có thể gọi tác vụ trong thư viện hàm API của nó để nhờ thực hiện chức năng tương ứng. Để lập trình sử dụng được điểu khiển WMP, bạn cần tìm hiểu và nắm vững các hàm chức năng của điều khiển WMP. Thông tin cụ thể về các hàm này được trình bày trong bộ MSDN của Microsoft.

    Sau đây là qui trình điển hình xây dựng 1 ứng dụng VB 6.0 nhỏ demo việc chọn file playlist (file chứa nhiều bản nhạc) để chơi bằng điều khiển Windows Media Player:

    1. dùng trình soạn thảo văn bản như NotePad, WordPad để soạn nội dung các file playlist, mỗi file playlist có phần nới rộng là *.asx và được viết bằng ngôn ngữ XML có dạng sau:
    <ASX version = "3.0">
    <TITLE>Cac bai nhac toi ua thich</TITLE>
    <ENTRY>
    <TITLE>Bien nho - Quang Dung</TITLE>
    <REF HREF = "d:\NhacMP3\Bien nho.wma" />
    </ENTRY>
    <ENTRY>
    <TITLE>Loi Cuoi Cho Em - Quang Dung</TITLE>
    <REF HREF = "d:\NhacMP3\Loi Cuoi Cho Em.wma" />
    </ENTRY>
    <ENTRY>
    <TITLE>Vi do la em - Quang Dung</TITLE>
    <REF HREF = "d:\NhacMP3\Vi Do La Em.wma" />
    </ENTRY>
    </ASX>
    Mỗi phần tử <Entry> trong file sẽ đặc tả thông tin về 1 file multimedia mà bạn cần chơi.

    2. chạy VB 6.0, khi cửa sổ "New project" hiển thị, chọn icon "Standard EXE" rồi button Open để tạo mới Project chứa Form đơn giản.

    3. chọn menu Project.Components để hiển thị cửa sổ Components, duyệt tìm và chọn 2 thư viện có tên là "Microsoft Forms 2 Object Library" và "Windows Media Player" rồi OK để thêm các điều khiển trong 2 thư viện này vào ToolBox của Project hiện hành. Lưu ý thư viện "Microsoft Forms 2 Object Library" chứa các đối tượng giao diện có khả năng xử lý chuỗi văn bản Unicode tiếng Việt.

    4. Chọn Form để hiển thị cửa sổ Properties của nó lên, duyệt tìm trong danh sách mục Font, thay đổi tên font thành "Tahoma" hay tên 1 font nào đó mà bạn chắc chắn hỗ trợ tốt tiếng Việt Unicode.

    5. vẽ Form có 1 TextBox (của Form2) tên là txtFileName, 1 button tên là btnStart, và 1 điều khiển Windows Media Player có tên là WMP1 như sau:

    6. Ấn kép chuột vào button Start để tạo thủ tục xử lý click chuột trên button và viết code như sau:

    Private Sub btnStart_Click()
    Dim pl As IWMPPlaylist
    'tạo đối tượng playlist
    Set pl = WMP1.newPlaylist("pl1", txtFileName.Text)
    'gán đối tượng playlist cho WMP biết
    WMP1.currentPlaylist = pl
    'yêu cầu WMP chơi file playlist
    WMP1.Controls.Play
    End Sub

    7. Chọn menu Run.Start để chạy thử ứng dụng. Khi form ứng dụng hiển thị, hãy nhập thử chuỗi Unicode miêu tả đường dẫn nhận dạng 1 file playlist nào đó cần chơi (thí dụ c:\Danh sách các bài nhạc tôi ưa thích nhất.asx) rồi ấn button Start để chơi file này. WMP sẽ chơi lần lượt từng bài nhạc được đặc tả trong file từ trên xuống, bạn có thể click chuột vào button Next, Previous,... trên đối tượng WMP để yêu cầu chuyển sang bài nhạc kế sau/kế trước...
    Lưu ý là ta chỉ lập trình những chức năng nào mà điều khiển WMP không thể tương tác trực tiếp với người dùng, còn những chức năng nào mà điều khiển WMP có thể giao tiếp trực tiếp với người dùng thì hãy để nó tự làm việc (thí dụ như chức năng Next/Previous).

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