Відтворення, призупинення або зупинення окремого звукового ефекту

Сторінка оновлюється :
Дата створення сторінки :

Середовище перевірки

Вікна
  • вікна 11
Редактор єдності
  • 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, і методи, щоб можна було відтворювати, робити паузи та PlayPauseStop зупиняти відповідно.

Сценарій можна прикріпити до джерела звуку, але в цьому випадку його буде прикріплено до системи подій. Переконайтеся, що ваш сценарій заповнений джерелом звуку, яке ви створили раніше.

Тепер призначте кожен метод події кліку трьох кнопок.

Закінчивши, запустіть гру і подивіться, чи відтворюються звукові ефекти.

Грати, пауза і зупинка - загальновживані терміни, тому вам не потрібно писати їх детально, але я думаю, що вони працюють наступним чином.

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

Недоліки використання лише AudioSource

Існує обхідний шлях, але ця порада має наступні недоліки. Ми розглянемо ці рішення в іншій підказці.

Не вдається відтворити два або більше однакових звуків одночасно

Ви можете перевірити це, натиснувши кнопку відтворення кілька разів, але попередній звук зникає під час відтворення нового звуку. Говорячи про недоліки, це недолік, а навпаки, якщо відтворювати один на одному один і той же звук, гучність буде дуже гучною, тому це перевага в тому сенсі, що це запобігає цьому. Однак попередній звук все одно зникне, тому в залежності від типу звуку він буде неприродним.

Ви повинні мати стільки аудіоджерел, скільки типів звуків для відтворення

Оскільки в аудіоджерелі можна встановити лише один аудіокліп, вам потрібно вказати джерело звуку, оскільки у вас стільки звуків, скільки потрібно. Також можна підготувати лише одне джерело звуку та змінити аудіокліп під час відтворення іншого звуку. Це неприродно, тому що попередній звук зникає через проблему, що два або більше однакових звуку, написаних раніше, не можуть бути відтворені одночасно.