Unity3D基础25:AudioSource声音组件

 

PS:注意代码注释

一、音频介绍

音频剪辑(AudioClip):导入到 Unity 中的所有的声音文件,它们在 Unity 引擎中的资源类型都是AudioClip

Unity3D基础25:AudioSource声音组件_第1张图片Unity3D基础25:AudioSource声音组件_第2张图片

音频源组件(AudioSource):用于播放音频剪辑(AudioClip)资源,可以当做是一个音响

创建方法:仍然是新建空物体,之后菜单Component→Audio→AudioSource,最后空物体变成一个扩音器图标如下:

Unity3D基础25:AudioSource声音组件_第3张图片

几个常用属性:

  • AudioClip:播放哪个音频文件
  • Play On Awake:是否在唤醒时(游戏开始时)立刻播放
  • Loop:是否单曲循环
  • Mute:是否静音(静音不等于不播放,只是音量为0)
  • Volume:音量大小(0~1)
  • Spatial Blend:2D声音还是3D声音(0~1,为0时2D声音,为1时3D声音),也就是声音是否出现平面变化,当为2D时,无论你在哪里声音都一样大,3D的时候,你离得越近声音越大

Unity3D基础25:AudioSource声音组件_第4张图片
 

二、AudioListener组件

声音侦听器(Audio Listener):相当于是人的耳朵,没有这个组件就听不到任何声音,默认挂载到摄像机上面

AudioListener.volume = 0~1:总音量大小

Unity3D基础25:AudioSource声音组件_第5张图片

 

三、用脚本控制声音

直接上代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BGMCto : MonoBehaviour
{
    private AudioSource myBGM;
    void Start()
    {
        myBGM = gameObject.GetComponent();
    }
    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();        //继续播放
            }
        }
    }
}

 

你可能感兴趣的:(#,Unity3D基础)