Відтворення, призупинення, зупинка та циклічне відтворення фонової музики

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

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

Вікна
  • вікна 11
Редактор єдності
  • 2021.3.3f1
Пакет системи введення
  • 1.3.0

Передумови для цієї поради

Наступні настройки були зроблені заздалегідь як передумова для опису цієї поради.

Про матеріал, що входить до складу зразка

BGM запозичена з наступного сайту.

Про аудіофайли

Наступні формати аудіофайлів можна відтворювати зі стандартними функціями Unity: Будь ласка, підготуйте його заздалегідь, тому що він буде використаний в цих порадах.

  • OggVorbis (.ogg)
  • Шар MPEG 3 (.mp3)

Для отримання додаткової інформації дивіться офіційну документацію Unity.

Про відтворення фонової композиції

Існує кілька способів відтворення фонової музики, але тут ми хочемо пояснити, як її відтворювати простим способом при використанні стандартних функцій.

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

Спочатку помістіть кнопку відтворення фонової композиції, як показано на малюнку.

Додайте підготовлений аудіофайл, скинувши його в свій проект.

Далі додайте в ієрархію «Джерело звуку».

Коли ви вибираєте створене вами джерело звуку, компонент Джерело звуку містить аудіокліп, в який ви скидаєте аудіофайл зі свого проекту, щоб налаштувати його.

До речі, якщо ви запустите гру як є, то встановлена вами 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 дозволяє грати і в те, і інше з однаковою обробкою.

Про явище, яке призупиняє фонова музика при вимкненому вікні

За замовчуванням, коли активні інші вікна і екран гри деактивований, сама гра ставиться на паузу. Поряд з цим призупиняється і відтворення фонової музики.

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