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:
- NAudio: cũng là một thư viện cho phép chơi nhiều định dạng âm thanh (nhưng không hỗ trợ sẵn OGG), tải tại: http://naudio.codeplex.com/releases/view/150817
- NVorbis: hỗ trợ giải mã các file Xiph.org Vorbis như OGG, tải tại: https://nvorbis.codeplex.com/releases/view/143316
Đầu tiên, bạn giải nén và Add Reference thư viện NAudio:
- Bấm PROJECT > Add Reference…
- 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: