Unity接入Naudio实现多音频播放和多声道融合

由于项目需要也为了日后加深印象特意进行开发记录。

1.接入Naudio程序集

NAudio官方地址:http://naudio.codeplex.com/
GitHub地址:https://github.com/naudio/NAudio
官方网址中有很多大家提问的问题和一些解决方案,有空可以看一看。
下载完项目之后可以将Dll引入Unity中,目前项目中我的Dll有这几项

最近将这些Dll重新编译成了一个,下载链接我放在网盘里,地址:

链接:https://share.weiyun.com/TrLyGx9i

2.创建一个最基本的Wave播放器

filePath为文件路径,使用AudioFileReader进行文件读取并为播放器初始化,可以放在线程中执行。
AudioFileReader可以根据文件不同格式创建不同的文件读取流


这样调用wavePlayer.Play就能播放音频了。

3.创建ASIO播放器


创建一个Asio播放器,将文件流写入到播放器里。

此时调用Play即可播放,这是最基本的Asio播放实现,Asio文件读取可以使用SampleAggregator类进行读取,该类会返回快速傅里叶和最大值计算的回调,这块应该是可以用来做音谱(懂得同学可以反馈下)。

Asio不支持从播放器上音量加减,所以如果要音量加减需要从文件上做。

4.多声道融合

多个声道融合需要有多个文件流,并且文件采样频率、采样位数必须为一致的。如果动态融合需要将文件流先Seek到起始位置,要不会从文件当前位置开始融合,文件最大声道支持8声道即7.1输出,创建
MultiplexingWaveProvider,根据自己选择将输入的音频流音轨放到新的文件音轨上,位置从0开始。

Unity接入Naudio实现多音频播放和多声道融合相关推荐

  1. Unity UGUI简单的音频播放+读歌词(实现类似 QQ音乐,网易云音乐歌词滚动)

    Unity UGUI简单的音频播放+读歌词(实现类似 QQ音乐,网易云音乐歌词滚动) 效果图 (demo下载地址 demo下载地址) 简单代码 /// <summary> /// 解析数据 ...

  2. AudioPlayer-简易音频播放器

    AudioPlayer 该工程是一个基于Unity2018.3.13开发的简易音频播放器,支持歌词同步+音频可视化+MV同步-- 前言 在我Unity工作的第一年里,通过学习和研究积累了一些比较有意思 ...

  3. Unity3D音频播放器 动态装载组件

    大多数在线Unity有关如何只教程Unity在播放音乐.之后如何通过拖动它们无法继续添加音频文件 但有时在游戏中的对象要玩几个声音.这时候我们就需要使用代码控制,拖动推教程AudioClip颂值的方法 ...

  4. audio unity 加速_浅谈Unity中Android、iOS音频延迟

    在Unity上面做音游,当在移动端实机运行起来,会发现,音频的发出会有一定的延迟,无论是长音效还是短音效,Unity内置的Audio内部使用的是FMOD,有以下手段改善 通过设置稍微改善其延迟的问题 ...

  5. moodeaudio 源码_MoodeAudio 音频播放器上手配置

    MoodeAudio 是运行于树莓派等开发板的高品质音频播放系统.与 Volumio 类似,又有些许不同.它们声音表现是基本一致的,各种配置选项差别不大,MoodeAudio 所提供的选项稍多,播放功 ...

  6. linux数字音频播放器,Moode Audio Player数字音频播放系统的体验

    Element14 Raspberry Pi 3B Raspberry Pi 3B ARM开发板封装 Volumio OS数字音频播放系统-主页控制主界面 上周末,我们为几台ARM微型计算机推出了Ra ...

  7. Unity3D音频播放 动态加载组件

    网上大多数Unity教程只讲述了如何在Unity里播放音乐,如何通过拖拽添加音频文件之后就没有继续了 但在游戏中有时候一个对象需要播放好几种声音,这个时候我们就需要用代码进行控制,教程上推拽给Audi ...

  8. iOS 音频播放 —— AVAudioSession

    An audio session is a singleton object that you employ to set the audio context for your app and to ...

  9. Unity接入穿山甲广告SDK(以及GroMoreDemo)

    Unity接入穿山甲广告SDK(以及GroMoreDemo) 下载安装 穿山甲官网SDK下载链接(https://www.csjplatform.com/union/media/union/downl ...

最新文章

  1. 【MySQL】ubuntu16.04安装mysql,然后源码编译Qt5.12.4版本的libqsqlmysql.so
  2. c语言关于office运行库,VC++运行库32/64位合集下载|微软常用运行库合集(2015- 2021版)...
  3. html5怎么设置勾选,word文档怎么设置输入勾选框
  4. springboot+springsecurity+mybatis plus之用户授权
  5. pb 窗口数据修改sql_Snowflake将成为在云中变得更好的数据仓库
  6. python观察日志(part4)--字符串拼接方式
  7. scroll-view组件bindscroll实例应用:自定义滚动条
  8. 使用localhost访问远程tensorboard
  9. 学习笔记——指针那些事儿
  10. PhpStorm中如何使用Xdebug工具,入门级操作方法
  11. 我用.Net做的一些系统及参与测试的系统
  12. Typora自动生成标题编号(包含从二级标题开始的)
  13. JAVA写入与读取GPX文件工具类
  14. Apollo(阿波罗)携程开源配置管理中心
  15. 关于ReWrite配置及iis重启命令
  16. 刘润老师的5分钟商学院营销案例~比例偏见!
  17. linux驱动面试题2018(面试题整理,含答案)
  18. 总结一下__declspec(dllimport)的作用
  19. 富文本编辑器 —— 学习笔记
  20. Invalid revision: 3.18.1-g262b901

热门文章

  1. UVA-1595 Symmetry
  2. Hudi async/inline compaction
  3. java 0xff00_ 0xFF 与  0xFF00 的作用
  4. 马斯克:太阳膨胀或致地球所有物种灭亡
  5. ubuntu 重装mysql_ubuntu怎么重新安装mysql
  6. Linux三剑客命令详解(grep sed awk )
  7. 对于驱动TFTLCD,读这篇文章就够了!
  8. 用户账户里面没有计算机管理员,我电脑用户账户受限,电脑管理员用户不见了...
  9. 好文收录之心酸心累的老程序员出路在哪里?
  10. 基于ASP.NET的小清新风格的新闻发布系统