unity3d 音频无缝循环

在我做赛车漂移的时候,漂移的声音断断续续的,搞得我很郁闷

大家可以随便找个音效然后循环播放去仔细听

你会发现当音效播放完成一次之后循环播放第二次时会停顿一下

我做赛车漂移如果中途停顿了体验是非常不好的,所以我就开始找原因

首先检查音效,没问题

检查代码、写测试代码,还是没问题

难道是u3d的bug?不是说好的循环吗,为啥会有停顿

后来在官方文档中看到一个Gapless looping(无缝循环)参数!!

soga,原来本来就有这个选项,心想终于可以得到解决了

可是事情好像没那么简单

Gapless looping这个参数不管我怎么设置,他就是不可以勾选

我就郁闷了,查了好多资料大家都只是介绍他干嘛用的,但是没有说不可以勾选这个问题

难道就我一个人遇到吗?或者说大家没有这种需求!!

无奈,我直接改音频的.mata文件

找到音频.mata用文本的方式打开,找到"loopable"

它默认是为0,手动改为1,保存后回到u3d就会发现音频已经勾选了Gapless looping

测试一下是不是真的起作用了!咦,还真的好了

fileFormatVersion: 2
guid: 1e8c12c16ca11524984902b8af6f86c4
AudioImporter:
serializedVersion: 4
format: 0
quality: .5
stream: 1
3D: 0
forceToMono: 0
useHardware: 0
loopable: 1
userData:

虽然解决了问题,但是这样的做法有些奇葩

如果有小伙伴知道怎么正常勾选Gapless looping请告知,谢谢

本文链接:http://www.cnblogs.com/shenggege/p/5126651.html

时间: 2024-08-13 22:50:16

unity3d 音频无缝循环的相关文章

Android实现OGG音频的无缝循环播放

说来惭愧,到最后好像自己也没做到些什么出来. 因为工作需求,需要实现同时对多首OGG音频进行无缝循环播放. 我尝试过在Java层用Java解码OGG文件,那效率就不说了,想崩溃就用吧:D 后来用本地代码尝试,但我最终只实现了单线程解码并播放,基于OGG解码库和OpenAL播放,而且是解码完再播放. 其实思路是很简单的,一边解码一边把解码后的数据放进播放器缓存播放就是了.但是由于时间关系后面的没做到. 最后在偶然之下发现BASS库 BASS Library:http://www.un4seen.c

一种实现无缝循环播放音乐方案

场景: 为了节省页面资源,往往需要将一段小音频循环播放,通常做法是在audio标签上添加loop属性,但不幸的是,该属性并不能保证无缝循环(gapless looping)播放,明显的感觉到中间的停顿. 解决方案: 使用audio标签的Web API提供的方法和属性进行循环播放,具体如下 事件名称 事件作用 timeupdate 当前播放的时长发生改变时触发     属性名称 属性作用 currentTime                 用来获取或控制当前播放的时间,单位为s duratio

Unity无缝循环世界实现

一年前曾经碰到过已无限世界为题材的游戏开发比赛,虽然对比赛没有兴趣,但是对这个题材倒是有点想法.如何通过unity3d实现无缝的循环世界呢. 有一种想法是动态生成,一块场景一块场景进行动态加载.(做过2D背景地图加载的可能理解,不展开) 如果是单场景,有没有简单的办法呢?思来想去,总算找到一种办法,4个相机图像叠加法 人物置于一个相机上,移动时,相机也移动,旋转时,相机也旋转. 当人物超出地形边缘的时候,则从另外一个边缘出现,同时设置到另外一边的相机上. 当相机超出2个地形边缘的时候,则从另外一

js 图片无缝循环

<html> <head> <title>Js图片无缝滚动</title> <style type="text/css"> body{ background:gray; } #wrap{ width:810px; height:200px; border:1px solid black; position:relative; left:50%; top:50%; margin-left:-410px; margin-top:-

超简单的纯CSS图片无缝循环方法

首先效果如下. 效果就是若干长图通过视口,并且第一张和最后一张要无缝衔接. 接着原理图如下.真的,超简单... 注意:第一张和最后一张必须要是同一张图,这样才能无缝衔接. 如果视口大于每张图片,那就有必要第1,2甚至3张和倒数第3,2,1张相同,这样才能在视口大于图片的情况下完成完成衔接. 从右往左滚动,或者垂直方向滚动效果稍加变动代码即可实现. 代码如下 <!DOCTYPE html> <html> <head lang="en"> <met

Swift - 多层无缝循环滚动背景(SpriteKit游戏开发)

在游戏开发中,比如跑酷游戏.我们需要实现背景的无限循环滚动,来营造运动的效果.除了单层的背景滚动,还有视差滚动. 视差滚动是指让多层背景以不同的速度移动,形成立体的效果,从而带来非常出色的视觉体验. 样例说明: 1,本样例背景分为两层.第一层更靠近游戏窗口的色彩更鲜艳,移动速度也更快一些.第二层由于要模拟远处的场景,所以颜色也更淡一些,对比度更弱一些,移动速度也更慢一些. 2,要实现循环滚动.我们准备的背景图首尾是要可以无缝衔接的. 3,判断需要多少张无缝衔接图来组成背景?判断标准是:当第一张图

js实现无缝循环滚动

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>无缝滚动</title> </head> <style type="text/css"> .row{ width: 1298px; height: 400px; border: 1px solid; box-sha

Unity3D音频播放 动态加载组件

http://www.biquge.cc/html/156/156282/22734698.html http://www.biquge.cc/html/156/156282/22734700.html http://www.biquge.cc/html/156/156282/22734702.html http://www.biquge.cc/html/156/156282/22734704.html http://www.biquge.cc/html/156/156282/22734706.

无缝循环滚动

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>JS Bin</title> </head> <body> <wraper> <ul id=&quo