播放、暂停、停止和循环播放背景音乐

更新页 :
页面创建日期 :

验证环境

窗户
  • 视窗 11
统一编辑器
  • 2021.3.3f1
输入系统包
  • 1.3.0

此提示的先决条件

作为此提示描述的前提,已预先进行了以下设置。

关于样品中包含的材料

BGM是从以下网站借来的。

关于音频文件

可以使用 Unity 的标准功能播放以下音频文件格式: 请提前准备,因为它将在这些提示中使用。

  • 奥格沃比斯 (.ogg)
  • MPEG 第 3 层 (.mp3)

有关更多信息,请参阅官方 Unity 文档。

关于背景音乐播放

有几种播放背景音乐的方法,但在这里我们想解释如何在使用标准功能时以简单的方式播放它。

内容是排列一个按钮,并通过单击该按钮来播放、暂停和停止。 在实际游戏中,您可以实现按钮以外的相同过程。

首先,放置一个按钮来播放BGM,如图所示。

通过将准备好的音频文件拖放到项目中来添加该文件。

接下来,将“音频源”添加到层次结构中。

选择创建的音频源时,“音频源”组件具有一个音频剪辑,您可以将项目中的音频文件拖放到其中以进行配置。

顺便说一句,如果您按原样启动游戏,您设置的 BGM 会突然播放。 这是因为选中了“在游戏开始时播放”。 如果您想在场景开始时立即播放它,则没有问题,但这次它不会立即播放,因此请取消选中此检查。

接下来,创建一个脚本。 MusicPlayer 将名称保留为 。

脚本如下所示:

using UnityEngine;

public class MusicPlayer : MonoBehaviour
{
  [SerializeField] private AudioSource AudioSource;

  public void OnClickPlay()
  {
    // オーディオを再生します
    AudioSource.Play();
  }

  public void OnClickPause()
  {
    // オーディオを一時停止します
    AudioSource.Pause();
  }

  public void OnClickStop()
  {
    // オーディオを停止します
    AudioSource.Stop();
  }
}

AudioSource 稍后将从编辑器中设置。 此音频源是您刚刚插入的音频文件的音频源。

AudioSource、 和方法,因此您可以分别播放、暂停和PlayPauseStop停止。

您可以将脚本附加到音频源,但在本例中,您需要将其附加到事件系统。 确保脚本填充了之前创建的音频源。

现在将每个方法分配给三个按钮的单击事件。

设置完成后,运行游戏并查看背景音乐是否播放。

播放、暂停和停止是常用术语,因此您无需详细编写它们,但我认为它们的工作原理如下。

  • 单击播放按钮时,背景音乐仅播放一次并播放到最后。
  • 在播放过程中,单击暂停按钮以停止播放声音
  • 当您在暂停时单击播放按钮时,声音将从停止位置播放。
  • 在播放过程中单击停止按钮以停止播放声音
  • 停止播放时单击播放按钮以从头开始播放
  • 在暂停期间单击停止按钮将释放暂停的位置,下次您玩游戏时,它将从头开始。
  • 如果在播放过程中单击播放按钮,则会停止当前播放的声音并从头开始播放。

循环播放

默认情况下,它播放背景音乐,并在播放到最后时自动停止。 如果要循环播放背景音乐并继续播放,请检查音频源组件中的“循环”,它将继续重复播放,直到您按下停止按钮。

音效播放内容相同

如果您已经看到了音效方面的提示,您可能已经注意到音效和背景音乐可以使用相同的设置播放。 根据游戏框架的不同,音效和背景音乐的处理可能是分开的,但 Unity 允许您使用相同的处理方式播放两者。

关于窗口停用时背景音乐暂停的现象

默认情况下,当其他窗口处于活动状态且游戏屏幕停用时,游戏本身将暂停。 与此同时,背景音乐的播放也被暂停。

为避免这种情况,您可以在项目设置中将其设置为在后台运行,以便背景音乐不会中断。