• 用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  
  • 相关阅读:
    Python方法
    Cpp求PI
    Asp.net身份验证和授权
    [转] 魔兽系列事件报道
    directxsdk aug 2006
    [转]转变的开始!NVIDIA更换新Logo
    wxWidgets 2.7.0 released
    OpenGL 和 Vista(续)
    暴雪员工的跳槽纪录
    3D版的星际争霸
  • 原文地址:https://www.cnblogs.com/kidfruit/p/1727108.html
Copyright © 2020-2023  润新知