Unity FMOD 音效失真变形

  • 【1】SampleRate差异导致的失真
  • 【2】OpenSL的支持导致的音效抖动和延迟问题

【1】SampleRate差异导致的失真

环境:Unity 2017.4.14f1 (64-bit), FMOD Studio 1.10.02
原因:SampleRate初始化设置与实际音效存在差异导致音效失真
解决方法:配置合适的Default Settings的SampleRate以及代码默认值,比如44100
注:SampleRate Platform Default:Editor:48000, Mobile:24000
注意FMOD Setting配置,以及代码默认值,如下

     // 默认值(48000)可依据实际修改// --------   Sample Rate ----------------------public int GetSampleRate(FMODPlatform platform){return GetSetting(SampleRateSettings, platform, 48000);}

【2】OpenSL的支持导致的音效抖动和延迟问题

问题转自 Unity FMOD音效抖动和延迟问题解决方案 , 记录下,并未遇到及验证

问题描述

声音延迟问题可以分为两种:一种是抖动问题,例如一个音效本来是如下的序列:1234567,抖动的效果就是1-2-3-4-5-6-7,其中’-'表示声音的停顿,就像游戏界面的卡帧现象一箱。另一种现象就是延迟现象,还是上面你的例子,延迟后的效果就是–1234567,表现就是点击一个按钮播放声音时要等一会音效才会出来。

问题出现的原因

这个可以参考 http://km.oa.com/articles/show/192778?kmref=search 的介绍,因为android系统默认使用OpenSL进行音频输出,而各个厂商对OpenSL的支持不是完美的,因此默写机型会出现这些问题。
在我们项目的开发过程中,遇到有问题的机型包括:魅族MX3, samsung GT-S7898,
samsung GT-S7562i, 华为G7, 荣耀4X 和 红米2A。

问题解决方案和代码设置

问题的解决方案和上面的帖子介绍的方法类似,但是在Unity中有点特殊。还是要在FMOD初始化之前设置好FMOD的输出方式。
问题是Unity本身自带的音频系统也是使用FMOD的,该FMOD模块使用了FMOD_OUTPUTTYPE_AUDIOTRACK这种输出方式,因此当我们将我们使用的FMOD设置成这种输出方式后,所有的音效都会听不见。
因此我们使用的输出方式是sys.setOutput(FMOD.OUTPUTTYPE.AUTODETECT,添加的部分代码如下:

#if UNITY_ANDROID && !UNITY_EDITOR { FMOD.System sys = null; ERRCHECK(system.getLowLevelSystem(out sys)); if (null != sys) { if (FMOD.RESULT.OK != sys.setOutput(FMOD.OUTPUTTYPE.AUDIOTRACK)) { sys.setOutput(FMOD.OUTPUTTYPE.AUTODETECT); }} }
#endif

注意这点代码需要在FMOD.Studio.System.initialize函数之前执行,否则不生效。
PS: 下面的方案是之前的方案,该方案针对出问题的机型设置DSP Buffer的大小,可以解决卡顿的问题,但是会带来延迟的问题,延迟会在0.5s左右。上面的方案目前位置没有发现其他问题。暂时把不好的解决方案也贴在下面。

之前 问题解决方案

DSP BUFFER SIZE的设置需要在FMOD.Studio.System::initialize函数之前执行,我的习惯是在FMOD_StudioSystem.cs中FMOD_StudioSystem::Init函数中进行设置,设置代码如下:

#if UNITY_ANDROIDFMOD.System lowLevelSystem;result = system.getLowLevelSystem(out lowLevelSystem);if (result != FMOD.RESULT.OK){ FMOD.Studio.UnityUtil.LogError("Unable to get lowlevel system");}if (lowLevelSystem != null){ FMOD.OUTPUTTYPE outputType; lowLevelSystem.getOutput(out outputType); result = lowLevelSystem.setDSPBufferSize(2048, 4); if (result != FMOD.RESULT.OK) { Debug.LogError("ERROR: Set DSP Buffer size error:" + result); } }
#endif

Unity FMOD 音效失真变形相关推荐

  1. Unity引擎音效系统简介

    Unity引擎音效系统简介 音频文件设置选项: Force To Mono:多声道转单声道 Normalize:当强制转为单声道时,混合过程中被标准化. Load In Background:在后台加 ...

  2. Unity资源-音效初识

    比特率(bit/s) 音视频的数字信号单位,值越大,信号传递越快,对应的文件也越大,内存占用也会大. 单声道和多声道 Unity大部分音效使用场景不需要用到多声道和立体声,类似于场景环绕或者山洞等环境 ...

  3. UNITY中FMOD音效插件使用

    在UNITY中使用FMOD插件,直接控制音乐,音效. FMOD下载 FMOD STUDIO的版本与插件要保持一致. FMOD STUDIO使用教程 UNITY引入package FMOD - Edit ...

  4. Unity 骨骼动画模型变形

    目录 一.问题描述 二.问题截图 三.解决办法 检查办法1: 检查办法2: 一.问题描述 从Maya导出骨骼动画至Unity后,在播放动画时的某一帧发生形变.产生变形的原因,是由于模型权重问题导致骨骼 ...

  5. Unity插件——Mega-Fires Mesh变形插件使用心得

    插件使用--Mega-Fires Mesh变形插件使用心得 一,开发环境 二,插件使用前准备工作 三,使用流程 四,Mega-Fires的常见组件介绍 1.Bend:弯管 2.Bubble:泡沫 3. ...

  6. Unity添加音效与音效衰减

    unity音效 unity支持的音频格式有WAV.AIFF.Ogg Vorbis.Mp3等,Mac/PC平台音频会被压缩成Ogg Vorbis格式,这种格式的音质不会降低:移动端会被压缩成MP3格式, ...

  7. Unity学习——音效系统+音频过滤器+音频混响区+音频管理器

    音频源(Audio Source)和音频监听器(在Main Camera下面) 声明:      AudioSource audio001; 关联:      audio001 = this.GetC ...

  8. 关于 Unity 音乐音效管理

    本文转载自:http://blog.csdn.net/microsoftMSDNNET/article/details/47273239 在实战项目中,音乐音效的好坏肯定是一个玩家对此项目评定的一个因 ...

  9. 关于Unity音乐音效管理

    在实战项目中,音乐音效的好坏肯定是一个玩家对此项目评定的一个因素之一.所以,有必要对音乐音效做出一个统一的管理. 首先,我把几个音效放到了Resouces的Audios文件夹下,方便动态加载. 之后, ...

最新文章

  1. 项目后台的最新认识和对MVC封装性、可维护性的更深刻认识!
  2. PHP设置块注释的模板
  3. C#跨平台开源项目实战(WPF/Android/IOS/Blazor)
  4. Android之Launcher分析和修改3——Launcher启动和初始化
  5. 虽然在修行初期的飞鸽传书
  6. 要把人工智能提速50倍的ARM,却依然坚持做“通用的计算架构”
  7. windows java环境搭建_Java环境搭建(Windows环境)-Fun言
  8. java基础之java输入输出语句
  9. 检测微信好友是否把你拉黑或者删除了
  10. idea中自动生成Java类图和时序图
  11. H3CNE题库(带答案版)
  12. 智慧安全:信息安全监控平台
  13. 哪些人适合学大数据分析
  14. Java毕设-商标管理系统
  15. js是滚动条滑到固定位置_JavaScript 滚动条定位指定位置
  16. APP隐私合规现状与防范措施
  17. 孕妇不能吃哪些食物?(协和妇产权威版)
  18. 梭哈游戏的发牌5-4
  19. fastreport打印ftp图片_C#:使用FastReport打印带图片传参模板的实现方法
  20. 进入Oracle企业管理器

热门文章

  1. 【SSM - SpringMVC篇】06 - SpringMVC转换器,日期格式转换器,后台Date转json,前台json转Date
  2. 音视频入门知识-- --相关名词、术语、概念
  3. 不用愁素材了,新手做自媒体必备的6个网站,视频音乐文案全都有
  4. Vue走马灯(Carousel)
  5. ERP浅谈之报表SQL简述
  6. 数据结构面试大全(二) - [算法]
  7. python学习第十讲作业-2021-1-6
  8. 1000.1 新电脑Windows搬运
  9. 债券研究系列之三——债券指数
  10. C#高级--加密解密详解