• Thứ Sáu, 15/05/2009 14:16 (GMT+7)

    Sử dụng Microsoft Multimedia Control trong tài liệu MS Word

    Câu hỏi :
    1. Xin hướng dẫn dùng Micosoft Multimedia control trong form VBA của Word. Có thể sử dụng control này để lấy đường dẫn đến file âm thanh không?

    2. Muốn dùng control này để đọc văn bản tiếng Việt trong Word thì phải làm sao?


    Trả lời :
    "Microsoft Multimedia Control" (MMC) là 1 linh kiện phần mềm theo công nghệ ActiveX cho phép điều khiển hoạt động của các thiết bị MCI (Media Control Interface) như sound card, ổ CD,... Nếu chỉ muốn chơi các file âm thanh, bạn cũng có thể dùng MMC, tuy nhiên nó không thích hợp bằng điều khiển ActiveX có tên là "Windows Media Player" (WMP). Thật vậy, MMC chỉ có thể chơi các file theo định dạng *.bmp, *.mid, *.avi, còn WMP chơi được hầu hết các định dạng file multimedia. Đoạn code VB điều khiển WMP cũng đơn giản hơn nhiều so với đoạn code điều khiển MMC. Sau đây là qui trình điển hình để xây dựng 1 form VBA trong Word để demo việc dùng 2 điều khiển MMC và WMP để chơi file âm thanh:

     1. Chạy Word, mở file Word cần xử lý.
     2. Chọn menu Tools.Macro.Visual Basic Editor để mở cửa sổ soạn code VBA.
     3. Dời chuột vào cửa sổ Project, dời chuột đến mục miêu tả file Word đang xử lý, ấn phải chuột vào nó để hiển thị menu lệnh, chọn mục Insert.UserForm để tạo 1 form mới.
     4. Chọn menu Tools.Additional Controls để hiển thị cửa sổ "Additional Controls", duyệt tìm trong danh sách và chọn 3 mục "Microsoft Multimedia Control version 6.0", "Windows Media Player" và "Microsoft Common Dialog Control version 6.0" rồi OK để thêm chúng vào Toolbox của UserForm.
     5. Thiết kế UserForm như hình sau gồm 2 button với tên lần lượt là btnMMC và btnWMP, 1 ActiveX MMC có tên mặc định là MMControl1, 1 ActiveX WMP có tên mặc định là WindowsMediaPlayer1 và 1 ActiveX Common Dialog có tên mặc định là CommonDialog1.
     6. Tạo 2 thủ tục xử lý sự kiện Click chuột trên 2 button và viết code cho chúng như sau:
     'thủ tục dùng MMC chơi file multimedia
     Private Sub btnMMC_Click()
     'Reset điều khiển
     MMControl1.Command = "close"
     'hiển thị cửa sổ duyệt tìm file
     CommonDialog1.ShowOpen
     'thiết lập file người dùng chọn cho MMC
     MMControl1.FileName = CommonDialog1.FileName
     'thiết lập kiểu file
     MMControl1.DeviceType = "Waveaudio"
     'nếu chơi file midi thì dùng chuỗi "Sequencer"
     'ra lệnh mở thiết bị
     MMControl1.Command = "open"
     'ra lệnh chơi file
     MMControl1.Command = "play"
     End Sub
     
     'thủ tục dùng WMP chơi file multimedia
     Private Sub btnWMP_Click()
     'hiển thị cửa sổ duyệt tìm file
     CommonDialog1.ShowOpen
     'thiết lập file người dùng chọn cho WMP, nó sẽ chơi tự động
     WindowsMediaPlayer1.URL = CommonDialog1.FileName
     End Sub

     7. Chọn menu Run.Run Sub/UserForm để chạy thử USerForm vừa xây dựng được.
     Bài toán đọc văn bản tiếng Việt là bài toán tổng hợp tiếng nói, cách đơn giản nhất để giải quyết bài toán này là tạo 1 từ điển âm, mỗi entry của từ điển miêu tả âm thanh của 1 từ đơn tiếng Việt. Mỗi lần muốn đọc 1 chuỗi văn bản, ta duyệt chuỗi này để tách ra từng từ đơn, tra trong từ điển để tìm được dữ liệu âm thanh tương ứng của từ đó rồi xuất dữ liệu âm thanh ra sound card. Dĩ nhiên cách giải quyết này chỉ có thể tạo ra giọng nói đều đều giữa các từ của câu văn, chứ không thể tạo được giọng nói có cảm xúc, có ngữ điệu lên/xuống giọng...
     
    Chuyên mục: Multimedia