用C#和NAudio解码库播放mp3示例

本文并非使用wmp控件和mci,而是用NAudio库原生解码,占用资源很小。推荐C#和.Net开发人员使用。

 

NAudio 是一款开源的用于.NET平台下的音频处理类库。提供了很多的简易方法来操作音频数据。

下图是官方示例程序。

源代码和示例程序地址见官网: http://naudio.codeplex.com/

naudiodemo.png

 

 

经过对示例程序分析,可得出播放mp3的最小代码如下:

 

  
    
1 using System;
2   using System.Text;
3   using NAudio.Wave;
4   using NAudio.CoreAudioApi;
5   using System.Threading;
6   using System.IO;
7
8   namespace KidPlayer
9 {
10
11 class Program
12 {
13 static void Main()
14 {
15 using (var ms = File.OpenRead( @"test .mp3 " ))
16 using (var rdr = new Mp3FileReader(ms))
17 using (var wavStream = WaveFormatConversionStream.CreatePcmStream(rdr))
18 using (var baStream = new BlockAlignReductionStream(wavStream))
19 using (var waveOut = new WaveOut(WaveCallbackInfo.FunctionCallback()))
20 {
21 waveOut.Init(baStream);
22 waveOut.Play();
23 while (waveOut.PlaybackState == PlaybackState.Playing)
24 {
25 Thread.Sleep( 100 );
26 }
27 }
28 }
29 }
30
31
32 }
33  

 

 

 

你可能感兴趣的:(C#)