STDIO
Tìm kiếm gần đây
    • Nội dung
    • QR Code
    • 0
    • Bình luận
    • Sao chép

    Thao Tác Âm Thanh trong C# Qua Thư Viện WMPLib

    Hướng dẫn sử dụng WMPLib phát âm thanh trong C#.

    Vothanhvu

    01/06/2017
    06/09/2020
    2 phút đọc
    Thao Tác Âm Thanh trong C# Qua Thư Viện WMPLib

    WMPLib là thư viện âm thanh của Windows Media Player, thư viện này có sẵn trong hệ điều hành Windows, hỗ trợ xử lý nhiều loại file âm thanh như WAV, MP3, ... và có nhiều phương thức thao tác với âm thanh như Play, Pause, Stop, Volume, Playlist.

    Thêm thư viện WMPLib vào Project

    Để thêm thư viện vào project C#,  nhấp chuột phải vào Project và chọn Add → Reference...

    Thao tác âm thanh trong csharp

    Tiếp theo, một hộp thoại xuất hiện:

    • Chọn xuống tab Browse và nhấn vào nút Browse… (1)
    • Chọn đến file wmp.dll nằm trong đường dẫn C:\Windows\System32 (2)
    • Sau đó đánh dấu tích vào thư viện wmp.dll và chọn nút OK (3)
    Thao tác âm thanh trong csharp 2

    Thao tác âm thanh qua thư viện WMPLib

    Đầu tiên, thêm using WMPLib trong code.

    using WMPLib;

    Khởi tạo đối tượng WindowsMediaPlayer và gán giá trị đường dẫn đến file âm thanh.

    WindowsMediaPlayer sound = new WindowsMediaPlayer();
    sound.URL = "STDIO_Sound.mp3";

    Sau đó, sử dụng các phương thức có sẵn dưới đây để thao tác với âm thanh.

    sound.controls.play();  // Play sound
    sound.controls.pause(); // Pause sound
    sound.controls.stop();  // Stop sound

    Ngoài 3 phương thức cơ bản này, còn nhiều phương thức khác các nữa.

    Mã nguồn

    File SoundManager.cs

    using WMPLib;
    
    namespace SoundAplication
    {
        public class SoundManager
        {
            WindowsMediaPlayer sound;
    
            public SoundManager(string _filePath)
            {
                sound = new WindowsMediaPlayer();
                sound.URL = _filePath;
            }
    
            public void Play()
            {
                sound.controls.play();
            }
    
            public void Stop()
            {
                sound.controls.stop();
            }
    
            public void Pause()
            {
                sound.controls.pause();
            }
    
            public void Resume()
            {
                if (sound.status == "Paused")
                    sound.controls.play();
            }
        }
    }
    

    File Program.cs

    using System;
    
    namespace SoundAplication
    {
        class Program
        {
            static void Main(string[] args)
            {
                SoundManager sound = new SoundManager("STDIO_Sound.wav");
    
                string cmd;
                cmd = Console.ReadLine();
    
                while (true)
                {
                    if (cmd == "/play")
                    {
                        sound.Play();
                        cmd = Console.ReadLine();
                    }
                    else if (cmd == "/pause")
                    {
                        sound.Pause();
                        cmd = Console.ReadLine();
                    }
                    else if (cmd == "/resume")
                    {
                        sound.Resume();
                        cmd = Console.ReadLine();
                    }
                    else if (cmd == "/stop")
                    {
                        sound.Stop();
                        cmd = Console.ReadLine();
                    }
                    else
                        cmd = Console.ReadLine();
                }
            }
        }
    }
    

    Phù hợp cho bạn

    Đề xuất

    Thao Tác với Tài Liệu PDF Sử Dụng Thư Viện iTextSharp trong C#

    Thao Tác với Tài Liệu PDF Sử Dụng Thư Viện iTextSharp trong C#

    Giới thiệu thư viện iTextSharp, hướng dẫn cài đặt và thao tác với tài ...

    C# for AutomationKiến Thức

    16/10/2015

    Định Dạng Ảnh Bitmap - Giới Thiệu và Các Thao Tác Cơ Bản

    Định Dạng Ảnh Bitmap - Giới Thiệu và Các Thao Tác Cơ Bản

    Trong đời thường, bạn sẽ gặp các file ảnh có định dạng .PNG, .JPG, .TGA, ...

    Phan Tấn Phúc

    13/09/2017

    Khám phá thêm

    Khởi Tạo Môi Trường Lập Trình Game Sử Dụng Thư Viện SDL (Simple DirectMedia Layer)

    Khởi Tạo Môi Trường Lập Trình Game Sử Dụng Thư Viện SDL (Simple DirectMedia Layer)

    Giới thiệu về thư viện Simple DirectMedia Layers và làm quen 1 số thao ...

    Lập Trình GameSDL

    08/10/2015

    Thao Tác Với Chuỗi Trong C/C++

    Thao Tác Với Chuỗi Trong C/C++

    Kiến thức cơ bản trong thao tác xử lý chuỗi trong C++.

    Modern C++C++98

    28/07/2015

    Các Hàm memset() - memcpy() - memcmp() Trong C

    Các Hàm memset() - memcpy() - memcmp() Trong C

    Giới thiệu về các hàm thao tác trên bộ nhớ trong thư viện string.h trong ...

    Modern C++C++98

    21/07/2015

    GameObject - Thao Tác với C# Script

    GameObject - Thao Tác với C# Script

    Giới thiệu các thành phần chung của 1 GameObject và các thao tác với C# ...

    Lập Trình GameUnity

    08/08/2015

    Thao Tác với XML Sử Dụng TinyXML trong C++

    Thao Tác với XML Sử Dụng TinyXML trong C++

    Hướng dẫn thao tác với XML sử dụng TinyXML trong C++.

    Modern C++Win32 API

    21/10/2015

    Validate Form Bằng Thư Viện Knockout-Validation trong Dự Án Durandaljs

    Validate Form Bằng Thư Viện Knockout-Validation trong Dự Án Durandaljs

    Bài viết hướng dẫn sử dụng thư viện Knockout-Validation để kiểm tra dữ ...

    JavaScriptKiến thức

    05/11/2017

    Nhập Xuất Cơ Bản trong C

    Nhập Xuất Cơ Bản trong C

    Tìm hiểu về thao tác nhập xuất cơ bản trong C.

    Modern C++C++98

    28/07/2015

    Âm Thanh Trong Unity

    Âm Thanh Trong Unity

    Hướng dẫn cách phát âm thanh trong Unity.

    Lập Trình GameUnity

    05/08/2015

    STDIO
    Trang chính
    Công ty TNHH STDIO

    30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
    +84 28.36205514 - +84 942.111912
    developer@stdio.vn

    383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
    Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012

    ©STDIO, 2013 - 2020