Unity3D中声音播放

Unity3D 播放声音需要使用 Audio Source 组件,并且需要 Audio Listener 组件配合,不然无法听到声音。Main Camera 会默认有 Audio Lisetener。

Unity3D 支持的音频格式有:ogg、mp3、wave、AIFF。

音频管理器(Edit-->ProjectSetting--> Audio):对声音进行一些全局设置,AudioSettings 类可以动态操作。

Global Volume: 全局播放的音量;

Volume Rolloff Scale: 衰减因子,越大,声音衰减越快;

Doppler Factor: 多普勒因子,模拟多普勒效应的监听效果:0关闭, 1 高速物体的多普勒效应会比较明显的监听的到;

Default Speak Mode: 设定扬声器模式(AudioSpeakModer);默认值为2立体声;

System Sample Rate: 输出取样频率。如果设置为0,系统取样频率将被使用。注意,这只是一个参考只有特定平台允许改变,比如 iOS 或安卓;

DSP Buffer Size: 调整DSP缓冲区大小优化延迟和性能;

Max Virutal/Real Volice Count: 同时播放的虚拟/真实声音的数量;

DisableAudio: 警用音频;

Audio Source组件:

Audio Clip:声音片段。指定需要播放的音频文件。

Output: 音频剪辑通过音频混合器输出。

Play On Awake:游戏运行起来后就开始播放。

Mute:静音。

Loop:是否循环播放。

Priority: 播放的优先级,0最高,256最低。

Volume:音量。

Pitch:音调。改变音调(Pitch)值,可以减速/加速音频剪辑的播放。1是正常播放速度。

Stereo Pan:立体声(-1左声道, 1右声道)

Spatial Blend:空间混合,设置声音是2D声音,还是3D声音。3D声音距离音源的距离会影响听到声音的大小,2D声音不会影响。

Spread: (3D)立体声在扬声器空间中的传播速度;

Volume Rolloff:对数模式、线性模式、自定义模式;

Min/Max Distance: 衰减距离的开始结束,最小距离(声音保持最大量),最大距离(不再衰减) 。

常用的开始播放、停止播放、暂停播放方法:

 1 public class Test
 2 {
 3     public AudioSource audioSource;
 4 
 5     private void Start()
 6     {
 7         audioSource.Play();//开始播放
 8         audioSource.Stop();//停止播放
 9         audioSource.Pause();//暂停播放
10     }
11 }

 AudioSource.PlayClipAtPoint(AudioClip,Vector3,float):在世界坐标系中指定一个位置播放声音片段。

AudioClip:需要播放的声音片段。

Vector3:播放声音片段的位置。

float:音量。

使用AudioSource.PlayClipAtPoint播放声音,会自动生成一个名为"One shot audio"的物体,并自动添加了AudioSource和相应的audioclip,同时播放多个声音时会生成多个同名的物体,各声音的播放互不影响,但缺点是只能设置音量,位置,不能设置loop,播放完成后,One shot audio自动销毁。

原文地址:https://www.cnblogs.com/xiaoyulong/p/7912525.html