Воспроизведение, пауза, остановка и зацикливание фоновой музыки

Страница обновлена :
Дата создания страницы :

Среда верификации

Виндоус
  • Windows 11
Редактор Unity
  • 2021.3.3f1
Входной системный пакет
  • 1.3.0

Предпосылки для этого совета

Следующие настройки были сделаны заранее в качестве предпосылки для описания этого совета.

О материале, входящем в состав образца

Фоновая музыка заимствована со следующего сайта.

Об аудиофайлах

Следующие форматы аудиофайлов могут воспроизводиться с помощью стандартных функций Unity: Пожалуйста, подготовьте его заранее, потому что он будет использоваться в этих советах.

  • OggVorbis (.ogg)
  • MPEG уровень 3 (.mp3)

Дополнительные сведения см. в официальной документации по Unity.

О воспроизведении фоновой музыки

Есть несколько способов воспроизведения фоновой музыки, но здесь мы хотим объяснить, как воспроизводить ее простым способом при использовании стандартных функций.

Содержимое состоит в том, чтобы расположить кнопку и воспроизвести, приостановить и остановить, нажав кнопку. В реальной игре вы можете реализовать тот же процесс, кроме кнопок.

Сначала поместите кнопку для воспроизведения фоновой музыки, как показано на рисунке.

Добавьте подготовленный аудиофайл, перетащив его в свой проект.

Затем добавьте «Источник звука» в иерархию.

При выборе созданного источника звука компонент «Источник звука» содержит аудиоклип, в который перетаскивается аудиофайл из проекта для его настройки.

Кстати, если вы начнете игру как есть, установленная вами фоновая музыка внезапно заиграет. Это связано с тем, что установлен флажок «Играть при запуске игры». Если вы хотите воспроизвести его сразу в начале сцены, проблем как такового нет, но на этот раз он не будет воспроизводиться сразу, поэтому оставьте эту проверку неотмеченной.

Далее создайте сценарий. 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 - это тот, который содержит аудиофайл, который вы только что вставили.

AudioSource, , так что вы можете воспроизводить, приостанавливать и PlayPauseStop останавливать соответственно.

Вы можете присоединить сценарий к источнику звука, но в этом случае вы присоедините его к EventSystem. Убедитесь, что сценарий заполнен источником звука, который вы создали ранее.

Теперь назначьте каждый метод событию щелчка трех кнопок.

После настройки запустите игру и посмотрите, воспроизводится ли фоновая музыка.

Воспроизведение, пауза и остановка — это часто используемые термины, поэтому вам не нужно писать их подробно, но я думаю, что они работают следующим образом.

  • Когда вы нажимаете кнопку воспроизведения, фоновая музыка воспроизводится только один раз и воспроизводится до конца.
  • Во время воспроизведения нажмите кнопку паузы, чтобы остановить воспроизведение звука
  • При нажатии кнопки воспроизведения во время паузы звук воспроизводится из остановленного положения.
  • Нажмите кнопку остановки во время воспроизведения, чтобы остановить воспроизводимый звук
  • Нажмите кнопку воспроизведения, остановившись, чтобы играть с самого начала
  • Нажатие кнопки остановки во время паузы освободит приостановленную позицию, и в следующий раз, когда вы будете играть, это будет с самого начала.
  • Если вы нажмете кнопку воспроизведения во время воспроизведения, текущий воспроизводимый звук будет остановлен и воспроизведен с самого начала.

Циклическое воспроизведение

Он воспроизводит фоновую музыку по умолчанию и автоматически останавливается, когда она воспроизводится до конца. Если вы хотите зациклить фоновую музыку и продолжить воспроизведение, установите флажок «Петля» в компоненте «Источник звука», и он будет продолжать воспроизводиться несколько раз, пока вы не нажмете кнопку остановки.

Содержание воспроизведения звукового эффекта одинаково

Если вы уже видели подсказки со стороны звуковых эффектов, вы, возможно, заметили, что звуковой эффект и фоновая музыка могут воспроизводиться с одинаковыми настройками. В зависимости от игрового фреймворка обработка звуковых эффектов и фоновой музыки может быть отдельной, но Unity позволяет играть в оба с одинаковой обработкой.

О явлении, когда фоновая музыка приостанавливается при деактивации окна

По умолчанию, когда активны другие окна и экран игры деактивирован, сама игра ставится на паузу. Наряду с этим также приостанавливается воспроизведение фоновой музыки.

Чтобы этого избежать, вы можете настроить его на работу в фоновом режиме в настройках проекта, чтобы фоновая музыка не прерывалась.