Unity 播放声音

Posted DaLiangChen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity 播放声音相关的知识,希望对你有一定的参考价值。

Unity中支持的音频格式

格式用途
AIFF适用于较短的音乐文件可用作游戏打斗音效
WAV适用于较短的音乐文件可用作游戏打斗音效
MP3适用于较长的音乐文件可用作游戏背景音乐
OGG适用于较长的音乐文件可用作游戏背景音乐

 

Unity 中播放声音简单案例

1.GameObject -> CreateEmpty  创建成功后我命名为audio

2.给audio添加一个Audiosource属性,这个属性非常的重要,Unity播放音乐主要就是要靠这个东西

3.找一个音乐文件,我这里使用了一个.mp3音乐文件,我命名为0.mp3 如下图所示将它拖动到右侧Audio Clip处

4.Audio Source 的重要属性如下

名称描述
AudioClip声音片段,还可以在代码中去动态的截取音乐文件
Mute是否静音
Bypass Effects是否打开音频特效
Play On Awake开机自动播放
Loop循环播放
Volume声音大小,取值范围0.0 到 1.0
Pitch播放速度,取值范围在 -3 到 3 之间 设置1 为正常播放,小于1 为减慢播放 大于1为加速播放

 

代码控制声音播放

1.新建一个脚本,命名 “TestAudio.cs” (代码如下)

using UnityEngine;

public class TestAudio : MonoBehaviour
{
    //音乐文件
    public AudioSource music;

    /// <summary>播放放音乐</summary>
    private void playMusic()
    {
        if (music!=null&&!music.isPlaying)
        {
            music.Play();
        }
    }

    /// <summary>关闭音乐播放</summary>
    private void stopMusic()
    {
        if (music != null && !music.isPlaying)
        {
            music.Stop();
        }
    }

    /// <summary>暂停音乐播放</summary>
    private void pauseMusic()
    {
        if (music != null && !music.isPlaying)
        {
            music.Pause();
        }
    }

    /// <summary>
    /// 设置播放音量
    /// </summary>
    /// <param name="volume"></param>
    private void setMusicVolume(float volume)
    {
        if (music != null && !music.isPlaying)
        {
            music.volume = volume;
        }
    }
}

 

官方API:https://docs.unity3d.com/cn/2020.2/ScriptReference/AudioSource.html

Unity QQ交流群:299412191 欢迎对Unity感兴趣的同学加入.

以上是关于Unity 播放声音的主要内容,如果未能解决你的问题,请参考以下文章

在片段中单击按钮播放声音(Kotlin)[重复]

如何仅在 Unity Vuforia 中检测到标记时播放声音

一次只能播放一个声音片段

播放短(小于 0:00:500 秒)声音片段

使用媒体播放器或声音池在片段内的 onClick 中播放声音

使用 Clip 对象播放多个声音片段