Unity 为什么有时候播放音乐(音效)会没有声音
1.问题描述
昨晚,我遇到的情况如下:
1.MainCamera里有Audio Source,并且在循环播放音乐
2.在其他的GameObject中也新增一个Audio Source,在某个时机播放音效
3.GameObject中播放音效没有反应(没声音)
于是我猜测是MainCamera中的Audio Source有问题,把它禁用。
误打误撞,此时的GameObject播放音效还真有声音了。
但是,注意了,但是,在我寻找为什么MainCamera中的Audio Source禁用后会正常时。
突然间GameObject又没有声音了。
这回我放弃了,因为刚租了个新房子,不打算用宽带。
没网络的情况下,我的战斗力立即降为原有战力的40%。
所以,我睡觉去了。
2.再次尝试
今晚,我又尝试去解决这个问题。
尝试步骤如下:
1.新建一个场景
2.新建一个GameObject
3.在GameObject中加入Audio Source,并且在Start函数里播放音效
4.毫不意外,仍然没有声音
然后,我突然发现Audio Source一个奇怪的属性:
![q1](http://www.benmutou.com/wp-content/uploads/2015/06/q1.png)
没错,音效文件默认是3D音效。
3D?我突然有个猜测,既然是3D音效,声音大小肯定和离镜头的距离有关系。
于是我把GameObject放到镜头的正中间,然后再运行测试。
果然,有声音了。
3.原因及解决方案
那么,没声音的原因及解决方案如下。
原因:其实并不是没有声音,只是因为这是3D音效,如果物体离镜头太远,声音就会很小,小到一定程度,自然没声音了。
![q2](http://www.benmutou.com/wp-content/uploads/2015/06/q2.png)