作者: 乔克斯
查看: 306986|回复: 511

主题标签Tag

打印 上一主题 下一主题

[源码] 【音频处理】Naudio .Net音频处理类库

  [复制链接]
跳转到指定楼层
楼主
查看: 306986|回复: 511
Naudio .Net音频处理类库
效果图:
1.主界面。

2.WPF调音台。


功能介绍:
Naudio是一个C#原生态音频处理类库,包含了各种对音频流,文件的处理方法。
能够使用以下方式播放音频文件并进行波形输出:
  • DirectSound
  • ASIO
  • WASAPI (Windows Vista 以及更高版本系统)
  • 支持通过流来播放音频并自动进行缓冲
  • 支持MP3、AAC、WMA等文件格式
  • 能够对正在播放的音频进行淡入淡出等处理
  • 支持从声卡录音并保存为音频文件
  • 支持各种频率的指定输出
  • 支持ACM解码器的动态加载使用
  • 能够在播放音频文件的时候显示左右声道以及波形图
  • 能够以多种格式从指定端口提供音频流传输服务
当然很多专业的东西并非我们能懂的,但是使用Naudio来进行基本的音频文件播放和处理是完全没问题的,有兴趣的同学可以仔细研究一下,源码包中有非常多的例子,包括winform和wpf的。
虽然类库本身代码功能很多,但是使用非常方便,使用下面的几句代码就可以实现对文件的播放:
[C#] 纯文本查看 复制代码
using System;
using System.Text;
using NAudio.Wave;
using NAudio.CoreAudioApi;
using System.Threading;
using System.IO;

 namespace HelloCsharp
{

    class Program
    {
        static void Main()
        {
            using (var ms = File.OpenRead(@"test.mp3"))
            using (var rdr = new Mp3FileReader(ms))
            using (var wavStream = WaveFormatConversionStream.CreatePcmStream(rdr))
            using (var baStream = new BlockAlignReductionStream(wavStream))
            using (var waveOut = new WaveOut(WaveCallbackInfo.FunctionCallback()))
            {
                waveOut.Init(baStream);
                waveOut.Play();
                while (waveOut.PlaybackState == PlaybackState.Playing)
                {
                    Thread.Sleep(100);
                }
            }
        }
    }


案例源码下载链接-回复可见:
游客,如果您要查看本帖隐藏内容请回复


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏7 转播转播
回复 论坛版权

使用道具 举报

沙发
 楼主| 乔克斯 发表于 2014-11-20 11:12:26 | 显示全部楼层
mrtong 发表于 2014-11-20 10:50
问个问题,楼主有没有ffmpeg视频音频格式转换的例子,C#的。

目前没有。
板凳
 楼主| 乔克斯 发表于 2014-12-30 11:10:47 | 显示全部楼层
lcqx 发表于 2014-12-30 10:56
````````````````````沈慧芬

沈慧芬是什么= =
地板
 楼主| 乔克斯 发表于 2015-10-22 22:48:41 | 显示全部楼层
whlanying 发表于 2015-10-22 17:57
这个是官方的吗?还是自主开发的?

官方的。
5#
 楼主| 乔克斯 发表于 2015-11-11 11:20:23 | 显示全部楼层
jingqia 发表于 2015-11-11 11:05
有没有录音功能(可以录制声卡输入和输出音频)?

【傲瑞屏幕录制】Oraycn.RecordDemo(支持,声卡,屏幕,麦)
http://bbs.cskin.net/forum.php?m ... =1403&fromuid=2
(出处: CSkin论坛)
6#
 楼主| 乔克斯 发表于 2015-12-8 17:51:48 | 显示全部楼层
O.O 发表于 2015-12-7 17:04
最近在做类似语音私信的东西,安卓和IOS发送的都是amr格式的音频,没法直接播放,可以用ffmepg来转码成MP3 ...

特殊格式的音频格式需要特殊解码器。
您需要登录后才可以回帖 登录 | 加入CSkin博客

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|CSkin ( 粤ICP备13070794号

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  Designed by ARTERY.cn
GMT+8, 2024-6-16 23:30, Processed in 0.568460 second(s), 33 queries , Gzip On.

快速回复 返回顶部 返回列表