Unity3D基础25:AudioSource声音组件
PS:注意代码注释
一、音频介绍
音频剪辑(AudioClip):导入到 Unity 中的所有的声音文件,它们在 Unity 引擎中的资源类型都是AudioClip
音频源组件(AudioSource):用于播放音频剪辑(AudioClip)资源,可以当做是一个音响
创建方法:仍然是新建空物体,之后菜单Component→Audio→AudioSource,最后空物体变成一个扩音器图标如下:
几个常用属性:
- AudioClip:播放哪个音频文件
- Play On Awake:是否在唤醒时(游戏开始时)立刻播放
- Loop:是否单曲循环
- Mute:是否静音(静音不等于不播放,只是音量为0)
- Volume:音量大小(0~1)
- Spatial Blend:2D声音还是3D声音(0~1,为0时2D声音,为1时3D声音),也就是声音是否出现平面变化,当为2D时,无论你在哪里声音都一样大,3D的时候,你离得越近声音越大
二、Audio Listener组件
声音侦听器(Audio Listener):相当于是人的耳朵,没有这个组件就听不到任何声音,默认挂载到摄像机上面
三、用脚本控制声音
直接上代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BGMCto : MonoBehaviour
{
private AudioSource myBGM;
void Start()
{
myBGM = gameObject.GetComponent<AudioSource>();
}
void Update()
{
if (Input.GetKey(KeyCode.LeftControl))
{
if (Input.GetKey(KeyCode.LeftArrow)) //实现"Ctrl+←"控制
{
myBGM.Play(); //开始播放
}
if (Input.GetKey(KeyCode.RightArrow))
{
myBGM.Stop(); //停止播放
}
if (Input.GetKey(KeyCode.DownArrow))
{
myBGM.Pause(); //暂停播放
}
if (Input.GetKey(KeyCode.UpArrow))
{
myBGM.UnPause(); //继续播放
}
}
}
}