Воспроизведение, приостановка или остановка одного звукового эффекта

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

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

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

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

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

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

Звуковые эффекты заимствованы со следующих сайтов.

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

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

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

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

О воспроизведении звуковых эффектов

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

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

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

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

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

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

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

Далее создайте сценарий. SoundPlayer Оставьте имя как .

Скрипт выглядит следующим образом:

using UnityEngine;

public class SoundPlayer : 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. Убедитесь, что сценарий заполнен источником звука, который вы создали ранее.

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

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

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

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

Недостатки использования только AudioSource

Есть обходной путь, но у этого Tips есть следующие недостатки. Мы рассмотрим эти решения в другом совете.

Не удается воспроизвести два или более одинаковых звука одновременно

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

У вас должно быть столько аудиоисточников, сколько типов звуков для воспроизведения

Так как в AudioSource можно задать только один аудиоклип, необходимо указать AudioSource, так как у вас есть столько звуков, сколько вы хотите. Вы также можете подготовить только один источник звука и изменить аудиоклип при воспроизведении другого звука. Это неестественно, потому что предыдущий звук исчезает из-за проблемы, заключающейся в том, что два или более одинаковых звука, записанных ранее, не могут быть воспроизведены одновременно.