Unity接入Naudio实现多音频播放和多声道融合
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实现多音频播放和多声道融合相关推荐
- Unity UGUI简单的音频播放+读歌词(实现类似 QQ音乐,网易云音乐歌词滚动)
Unity UGUI简单的音频播放+读歌词(实现类似 QQ音乐,网易云音乐歌词滚动) 效果图 (demo下载地址 demo下载地址) 简单代码 /// <summary> /// 解析数据 ...
- AudioPlayer-简易音频播放器
AudioPlayer 该工程是一个基于Unity2018.3.13开发的简易音频播放器,支持歌词同步+音频可视化+MV同步-- 前言 在我Unity工作的第一年里,通过学习和研究积累了一些比较有意思 ...
- Unity3D音频播放器 动态装载组件
大多数在线Unity有关如何只教程Unity在播放音乐.之后如何通过拖动它们无法继续添加音频文件 但有时在游戏中的对象要玩几个声音.这时候我们就需要使用代码控制,拖动推教程AudioClip颂值的方法 ...
- audio unity 加速_浅谈Unity中Android、iOS音频延迟
在Unity上面做音游,当在移动端实机运行起来,会发现,音频的发出会有一定的延迟,无论是长音效还是短音效,Unity内置的Audio内部使用的是FMOD,有以下手段改善 通过设置稍微改善其延迟的问题 ...
- moodeaudio 源码_MoodeAudio 音频播放器上手配置
MoodeAudio 是运行于树莓派等开发板的高品质音频播放系统.与 Volumio 类似,又有些许不同.它们声音表现是基本一致的,各种配置选项差别不大,MoodeAudio 所提供的选项稍多,播放功 ...
- linux数字音频播放器,Moode Audio Player数字音频播放系统的体验
Element14 Raspberry Pi 3B Raspberry Pi 3B ARM开发板封装 Volumio OS数字音频播放系统-主页控制主界面 上周末,我们为几台ARM微型计算机推出了Ra ...
- Unity3D音频播放 动态加载组件
网上大多数Unity教程只讲述了如何在Unity里播放音乐,如何通过拖拽添加音频文件之后就没有继续了 但在游戏中有时候一个对象需要播放好几种声音,这个时候我们就需要用代码进行控制,教程上推拽给Audi ...
- iOS 音频播放 —— AVAudioSession
An audio session is a singleton object that you employ to set the audio context for your app and to ...
- Unity接入穿山甲广告SDK(以及GroMoreDemo)
Unity接入穿山甲广告SDK(以及GroMoreDemo) 下载安装 穿山甲官网SDK下载链接(https://www.csjplatform.com/union/media/union/downl ...
最新文章
- 【MySQL】ubuntu16.04安装mysql,然后源码编译Qt5.12.4版本的libqsqlmysql.so
- c语言关于office运行库,VC++运行库32/64位合集下载|微软常用运行库合集(2015- 2021版)...
- html5怎么设置勾选,word文档怎么设置输入勾选框
- springboot+springsecurity+mybatis plus之用户授权
- pb 窗口数据修改sql_Snowflake将成为在云中变得更好的数据仓库
- python观察日志(part4)--字符串拼接方式
- scroll-view组件bindscroll实例应用:自定义滚动条
- 使用localhost访问远程tensorboard
- 学习笔记——指针那些事儿
- PhpStorm中如何使用Xdebug工具,入门级操作方法
- 我用.Net做的一些系统及参与测试的系统
- Typora自动生成标题编号(包含从二级标题开始的)
- JAVA写入与读取GPX文件工具类
- Apollo(阿波罗)携程开源配置管理中心
- 关于ReWrite配置及iis重启命令
- 刘润老师的5分钟商学院营销案例~比例偏见!
- linux驱动面试题2018(面试题整理,含答案)
- 总结一下__declspec(dllimport)的作用
- 富文本编辑器 —— 学习笔记
- Invalid revision: 3.18.1-g262b901
热门文章
- UVA-1595 Symmetry
- Hudi async/inline compaction
- java 0xff00_ 0xFF 与 0xFF00 的作用
- 马斯克:太阳膨胀或致地球所有物种灭亡
- ubuntu 重装mysql_ubuntu怎么重新安装mysql
- Linux三剑客命令详解(grep sed awk )
- 对于驱动TFTLCD,读这篇文章就够了!
- 用户账户里面没有计算机管理员,我电脑用户账户受限,电脑管理员用户不见了...
- 好文收录之心酸心累的老程序员出路在哪里?
- 基于ASP.NET的小清新风格的新闻发布系统