Chơi âm thanh wav, mp3, ogg trên ứng dụng C#.NET

Bài này mình giới thiệu một số cách đơn giản để chơi các file âm thanh thông dụng như wav, mp3, ogg trên ứng dụng C#.NET

Chơi file WAV

Để chơi file WAV, chúng ta sử dụng lớp sẵn có SoundPlayer từ không gian tên System.Media.

System.Media.SoundPlayer player = new System.Media.SoundPlayer();
player.SoundLocation = “file.wav”; // Đường dẫn đến file cần chơi
player.Play();

Để dừng chơi, dùng lệnh:

player.Stop();

Chơi file MP3

System.Media.SoundPlayer chỉ có thể chơi file WAV. Nếu muốn chơi file MP3, WMA,… chúng ta cần sử dụng thư viện khác. Trên Windows, hầu hết các máy đều được cài sẵn trình chơi nhạc Windows Media Player, trong đó, có thư viện cho phép chơi nhiều loại file âm thanh là wmp.dll nằm trong thư mục Windows\System32. Ngoài MP3 và WMA, tuỳ thuộc phiên bản, thư viện còn có thể chơi các loại âm thanh khác, bạn có thể xem tại đây: http://support.microsoft.com/kb/316992

Đầu tiên, bạn cần Add Reference đến thư viện wmp.dll bằng cách bấm Menu PROJECT > Add Reference…

Bấm Browse, chọn đến Windows\System32\wmp.dll rồi bấm Add.

Để ý bên khung Solution Explorer, sẽ thấy xuất hiện WMPLib trong mục References.

Để chơi âm thanh, ta sử dụng đoạn mã sau:

WMPLib.WindowsMediaPlayer player = new WMPLib.WindowsMediaPlayer();
player.URL = “file.mp3”; // Đường dẫn đến file cần chơi
player.controls.play();

Để dừng chơi, dùng lệnh:

player.controls.stop();

Chơi file OGG

Để chơi file OGG, chúng ta cần sử dụng hai thư viện:

Đầu tiên, bạn giải nén và Add Reference thư viện NAudio:

  1. Bấm PROJECT > Add Reference…
  2. Bấm Browse, chọn đến file NAudio.dll rồi bấm Add.

Kế đến là thư viện NVorbis, cũng làm tương tự như trên để Add Reference đến 2 file sau:

NVorbis.dll

NVorbis.NAudioSupport.dll

Để ý bên khung Solution Explorer, bạn phải thấy tên 3 thư viện trong mục References:

Để chơi file OGG, bạn có thể sử dụng đoạn mã sau:

NVorbis.NAudioSupport.VorbisWaveReader vorbis = 
            new NVorbis.NAudioSupport.VorbisWaveReader("file.ogg”); 
            // Đường dẫn đến file cần chơi
NAudio.Wave.WaveOut waveout = new NAudio.Wave.WaveOut();

waveout.Init(vorbis);
waveout.Play();

Để dừng, bạn dùng lệnh:

waveout.Stop();

Nguồn tham khảo:

Bình luận

Bình luận Facebook

lời bình luận