Воспроизведение, приостановка или остановка одного звукового эффекта
Среда верификации
- Виндоус
-
- 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
, , так что вы можете воспроизводить, приостанавливать и Play
Pause
Stop
останавливать соответственно.
Вы можете присоединить сценарий к источнику звука, но в этом случае вы присоедините его к EventSystem. Убедитесь, что сценарий заполнен источником звука, который вы создали ранее.
Теперь назначьте каждый метод событию щелчка трех кнопок.
Когда вы закончите, запустите игру и посмотрите, воспроизводятся ли звуковые эффекты.
Воспроизведение, пауза и остановка — это часто используемые термины, поэтому вам не нужно писать их подробно, но я думаю, что они работают следующим образом.
- При нажатии кнопки воспроизведения звуковой эффект воспроизводится только один раз и воспроизводится до конца.
- Во время воспроизведения нажмите кнопку паузы, чтобы остановить воспроизведение звука
- При нажатии кнопки воспроизведения во время паузы звук воспроизводится из остановленного положения.
- Нажмите кнопку остановки во время воспроизведения, чтобы остановить воспроизводимый звук
- Нажмите кнопку воспроизведения, остановившись, чтобы играть с самого начала
- Нажатие кнопки остановки во время паузы освободит приостановленную позицию, и в следующий раз, когда вы будете играть, это будет с самого начала.
- Если вы нажмете кнопку воспроизведения во время воспроизведения, текущий воспроизводимый звук будет остановлен и воспроизведен с самого начала.
Недостатки использования только AudioSource
Есть обходной путь, но у этого Tips есть следующие недостатки. Мы рассмотрим эти решения в другом совете.
Не удается воспроизвести два или более одинаковых звука одновременно
Вы можете проверить это, нажав кнопку воспроизведения несколько раз, но предыдущий звук исчезает, когда вы воспроизводите новый звук. Говоря о недостатках, это недостаток, но, наоборот, если вы воспроизводите один и тот же звук друг над другом, громкость будет очень громкой, так что это преимущество в том смысле, что она предотвращает это. Однако прежний звук все равно исчезнет, поэтому в зависимости от типа звука он будет неестественным.
У вас должно быть столько аудиоисточников, сколько типов звуков для воспроизведения
Так как в AudioSource можно задать только один аудиоклип, необходимо указать AudioSource, так как у вас есть столько звуков, сколько вы хотите. Вы также можете подготовить только один источник звука и изменить аудиоклип при воспроизведении другого звука. Это неестественно, потому что предыдущий звук исчезает из-за проблемы, заключающейся в том, что два или более одинаковых звука, записанных ранее, не могут быть воспроизведены одновременно.