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

Cập nhật ngày: 26/12/2024 - Đã có 833 lượt xem bài viết này!
Thao Tác Âm Thanh Trong C# Qua Thư Viện WMPLib
Trong lập trình ứng dụng hoặc games với C# các bạn thường gặp vấn đề về việc thao tác âm thanh, có rất nhiều thư viện hỗ trợ cho chúng ta giải quyết vấn đề này. Bài viết này sẽ hướng dẫn các bạn thao tác âm thanh với 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.

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

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

Để thêm thư viện WMPLib vào dự án, chúng ta làm theo các bước như sau.
Đầu tiên, ta chuột phải vào Project và chọn Add → Reference…

Tiếp theo, một hộp thoại xuất hiện ta chọn xuống tab Browse (1) và nhấn vào nút Browse…, 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 (3) và chọn nút OK, vậy là đã hoàn thành quá trình thêm thư viện WMPLib vào dự án.

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

Đầu tiên, ta phải using namespace WMPLib trong 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 đó, ta chỉ việc 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 bạn có thể tự tìm hiểu thêm.

Mã nguồn

File class 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();

}

}

}

}

Lời kết

Trên đây tôi đã hướng dẫn các bạn sử dụng thư viện WMPLib để thao tác cơ bản với âm thanh trong lập trình C#. Hy vọng kiến thức mà tôi truyền đạt trong bài viết này sẽ giúp ích cho việc giải quyết vấn đề về âm thanh trong dự án của các bạn, cảm ơn các bạn đã đọc bài viết này.

 

Tại sao bạn nên học Lập trình Game Unity3D ngay hôm nay?

👉 “Game" hẳn là một từ khóa đã rất quen thuộc với mọi người và sẽ còn thú vị hơn nữa khi chính bạn có thể tạo ra các sản phẩm Game đó. 
👉 Hiểu được điều đó IMIC đã tổ chức ra khóa đào tạo nhân sự lập trình Game với Unity3D. 
👉 Đây là khóa đào tạo toàn diện nhất về lập trình Game Unity3D. 
👉 Khóa đào tạo này sẽ trang bị cho các bạn đầy đủ các kỹ năng, kiến thức chuyên môn nền tảng về Unity3D, cách mà chúng ta sử dụng nó để phát triển trò chơi đa nền tảng mạnh mẽ. 
👉 Đây là nền tảng phát triển Game 3D & 2D chất lượng cao, sử dụng trên thiết bị di động, máy tính để bàn, VR/AR, các hệ máy Console như PS4, XBOX và Nintendo Switch hoặc Web, khả năng là vô tận. 
👉 Nếu bạn muốn tạo ra một trò chơi tương tác hấp dẫn và hình ảnh sinh động thì Unity 3D là một nền tảng nổi bật hỗ trợ các nhà phát triển các tính năng và tùy chọn chơi game theo cách hấp dẫn nhất. Việc lập trình ứng dụng game của bạn trở nên dễ dàng hơn khi thế giới ảo hiện ra sống động. 
👉 Và điều đặc biệt là bạn được học & làm dự án Game 2D, 3D cùng Chuyên gia có nhiều năm kinh nghiệm phát triển & quản lý dự án Game.

Dưới đây là những điều tuyệt vời và bạn nên học lập trình Game Unity3D ngay hôm nay!.
✅ Unity 3D bao gồm một phiên bản hoàn toàn miễn phí để các lập trình viên có thể sử dụng để tạo ra các sản phẩm game với nhiều tính năng nổi bật.
✅ Unity 3D hỗ trợ IOS, Android, Mac, PC, Steam và thậm chí cả các hệ máy Console. Có thể hiểu, bạn có thể tạo ra trò chơi cho tất cả các nền tảng và thiết kế trò chơi một cách dễ dàng. Với Unity, việc nâng cấp các phiên bản trò chơi cũng trở nên dễ dàng hơn.
✅ Quá trình phát triển trò chơi rất phức tạp và bạn sẽ cần đến sự hỗ trợ từ cộng đồng các nhà phát triển, với hơn 3 triệu lập trình viên Unity và tăng nhanh mỗi ngày, các vấn đề bạn gặp phải sẽ được giải quyết nhanh chóng với nhiều giải pháp tốt cho bạn. 
✅ Unity Asset Store cung cấp cho các nhà phát triển 1 kho thư viện đồ sộ như: nhân vật, xe cộ, cây cối, tòa nhà,...
✅ Bạn có thể viết kịch bản để phát triển Game Unity 3D với sự trợ giúp của Javascript hoặc C#, những ngôn ngữ kịch bản mà không quá khó để làm chủ nó.
✅ Unity 3D được biết đến với sự sống động 3D, nhưng nó cũng rất hiệu quả khi phát triển Game 2D cho PC, điện thoại di động và thậm chí cho máy chơi game. Có thể dễ dàng thực hiện chuyển động sprite, thực hiện khoa học vật lý của thế giới 2D và làm nhiều hơn thế nữa.
✅ Phần tốt nhất về Unity là có rất nhiều bài viết hướng dẫn và video đào tạo phát triển game có sẵn trên web cho bất kỳ ai muốn tìm hiểu. 
✅ Người học chỉ cần dành 1 thời gian ngắn tìm hiểu là đã có thể tạo ra các trò chơi nhỏ với một số tính năng thú vị rồi.
✅ Hàng năm luôn có các hội thảo được tổ chức để công bố các tiện ích cho các nhà phát triển và tạo sự kết nối mọi người trong cộng đồng để cùng phát triển lĩnh vực Game với Unity 3D.
✅ Và một điều đặc biệt nữa là nhu cầu tuyển dụng lập trình viên phát triển Game Unity 3D ở việt nam đang cần rất nhiều, cơn khát nhân sự này không chỉ hiện tại và còn kéo dài nhiều năm tiếp theo.

📣 Trước tình hình dịch bệnh Covid diễn biến còn phức tạp như hiện nay, thì để tạo điều kiện tốt nhất cho các bạn học viên có niềm đam mê yêu thích về lập trình Game Unity3D, Phòng đào tạo nhân sự của IMIC đưa ra chính sách hỗ trợ kinh phí với mức tốt nhất. Liên hệ ngay để được tư vấn đăng ký tham gia khóa đào tạo này.

Cảm ơn bạn đã dành thời gian lắng nghe những chia sẻ về Unity3D. Và tuyệt vời hơn nữa nếu IMIC được góp phần vào sự thành công của bạn! 
 

 
 

Bạn đang muốn tìm kiếm 1 công việc với mức thu nhập cao.
✅ Hoặc là bạn đang muốn chuyển đổi công việc mà chưa biết theo học ngành nghề gì cho tốt.
✅ Giới thiệu với bạn Chương trình đào tạo nhân sự dài hạn trong 12 tháng với những điều đặc biệt mà chỉ có tại IMIC và đây cũng chính là sự lựa chọn phù hợp nhất dành cho bạn:
👉 Thứ nhất: Học viên được đào tạo bài bản kỹ năng, kiến thức chuyên môn lý thuyết, thực hành, thực chiến nhiều dự án và chia sẻ những kinh nghiệm thực tế từ Chuyên gia có nhiều năm kinh nghiệm dự án cũng như tâm huyết truyền nghề.
👉 Thứ hai: Được ký hợp đồng cam kết chất lượng đào tạo cũng như mức lương sau tốt nghiệp và đi làm tại các đối tác tuyển dụng của IMIC. Trả lại học phí nếu không đúng những gì đã ký kết.
👉 Thứ ba: Cam kết hỗ trợ giới thiệu công việc sang đối tác tuyển dụng trong vòng 10 năm liên tục.
👉 Thứ tư: Được hỗ trợ tài chính với mức lãi suất 0 đồng qua ngân hàng VIB Bank.
👉  Có 4 Chương trình đào tạo nhân sự dài hạn dành cho bạn lựa chọn theo học. Gồm có:
1)  Data Scientist full-stack
2)  Embedded System & IoT development full-stack
3)  Game development full-stack
4)  Web development full-stack 
✅ Cảm ơn bạn đã dành thời gian lắng nghe những chia sẻ của mình. Và tuyệt vời hơn nữa nếu IMIC được góp phần vào sự thành công của bạn. 
✅ Hãy liên hệ ngay với Phòng tư vấn tuyển sinh để được hỗ trợ về thủ tục nhập học.
✅ Chúc bạn luôn có nhiều sức khỏe và thành công!
 

Tham khảo các khóa đào tạo nhân sự qua danh mục