unity-声音与声效OLD

发布时间:2024年01月19日

基本概念

支持格式mp3、ogg、wve等

audio clip

如下图
在这里插入图片描述

调试播放,选中声音,属性栏中下侧可以播放声音

audio listener

选择摄像机,然后属性面板中会默认挂载audio listener组件。如果没有audio listener的话,运行游戏就会报错。
一个游戏中只有一个audio listener,否则会报错
它是音频监听器
在这里插入图片描述
在这里插入图片描述

audio source

主要是用来播放声音的,audio listener是接受音乐的
一个游戏物体可以挂载多个audio source组件的

在这里插入图片描述
在这里插入图片描述

1是必须要勾选
2根据是否循环播放勾选
3 调整音量大小
4 是设置3d音或是2d音,3d主要是根据摄像头远近

基本操作

如何创建音频源(背景音乐)

需要在层级中创建
先创建一个空的游戏物体
在这里插入图片描述

然后在属性面板中添加一个组件audio source
在这里插入图片描述

再设置playe on awake选择,循环播放loop设置取消或是勾选
在这里插入图片描述

添加后场景中会出现一个喇叭一样的图标
在这里插入图片描述

最后赋值拖拽audio clip到audio source中
在这里插入图片描述

运行游戏即可播放声音

如何在测试的时候关闭声音

在这里插入图片描述

常用代码

总的来讲,就是Audio Source调用PlayOneShot,播放audio clip

一般流程

1.设置变量
private AudioSource audioSource;
2.在start方法中获取该组件
audioSource=GetComponent();
3.在游戏物体上增加audio source组件,取消play on awake
在这里插入图片描述

播放音频的方法PlaySound
public void PlaySound (AudioClip audioClip)
{
audioSource.PlayOneShot(audioClip);
}

其他游戏物体调用playSound播放声音
1.脚本上设置一个public的变量,意味着会从资源中拖拽audio clip到界面上
在这里插入图片描述
在这里插入图片描述

2.调用rubyController定义好的playsound方法播放即可

在这里插入图片描述

如何在一个物体上播放多个音效

比如要在一个物体上播放多个音效,可以在其脚本上定义多个AudioClip
在这里插入图片描述

然后在属性面板的脚本组件拖拽对应的资源audio clip到指定的地方
在这里插入图片描述

通过audiosource的playoneshot方法播放声音

如何在代码中延时播放多个声音

就是使用invoke函数延时播放
audioSource.PlayOneShot (hitSounds[randomNum]);
Invoke(“PlayFixedSound” ,0.1f);

private void PlayF ixedSound()
{
audioSource.PlayOneShot (fixedSound)
Invoke(“StopAudioSoucePlay”,0.1f);
}

private void StopAudioSoucePlay()
{
audioSource. Stop();
}

如何在代码中停止音频的播放

audioSource.Stop()

与playonshot功能相同的方法
audioSource.Play();
audioSource.clip = walkSound;

如何判断当前是否在播放音频资源

if(!audioSource. isPlaying)
{
audioSource.clip = walkSound;
audioSource.Play();
}

文章来源:https://blog.csdn.net/m0_60688978/article/details/135707100
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。