Възпроизвеждане, пауза, спиране и лупинг на фонова музика

Страницата се актуализира :
Дата на създаване на страница :

Среда за проверка

Уиндоус
  • Прозорци 11
Редактор на единство
  • 2021.3.3f1
Пакет на входната система
  • 1.3.0

Предпоставки за този съвет

Следните настройки са направени предварително като предпоставка за описанието на този съвет.

За материала, включен в пробата

BGM е заимстван от следния сайт.

За аудио файловете

Следните аудио файлови формати могат да се възпроизвеждат със стандартните функции на Unity: Моля, подгответе го предварително, защото ще бъде използван в тези съвети.

  • ОгВорбис (.ogg)
  • MPEG слой 3 (.mp3)

За повече информация вижте официалната документация на Unity.

За възпроизвеждането на BGM

Има няколко начина за възпроизвеждане на фонова музика, но тук искаме да обясним как да я възпроизвеждаме по прост начин, докато използваме стандартните функции.

Съдържанието е да подредите бутон и да играете, да направите пауза и да спрете, като кликнете върху бутона. В реална игра можете да приложите същия процес, различен от бутоните.

Първо, поставете бутон, за да играете BGM, както е показано на фигурата.

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

След това добавете "Аудио източник" към йерархията.

Когато изберете аудиоизточника, който сте създали, компонентът "Аудио източник" има аудиоклип, в който пускате аудиофайл от вашия проект, за да го конфигурирате.

Между другото, ако започнете играта такава, каквато е, 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 спирате съответно.

Можете да прикачите скрипта към аудио източника, но в този случай ще го прикачите към EventSystem. Уверете се, че скриптът ви е попълнен с аудиоизточника, който създадохте по-рано.

Сега задайте всеки метод на събитието за кликване на трите бутона.

След като настроите, стартирайте играта и вижте дали фоновата музика се възпроизвежда.

Play, пауза и спиране са често използвани термини, така че не е нужно да ги пишете подробно, но мисля, че те работят по следния начин.

  • Когато щракнете върху бутона за възпроизвеждане, фоновата музика се възпроизвежда само веднъж и се възпроизвежда до края.
  • По време на възпроизвеждане щракнете върху бутона за пауза, за да спрете възпроизвеждането на звука
  • Когато щракнете върху бутона за възпроизвеждане, докато сте на пауза, звукът се възпроизвежда от спряно положение.
  • Щракнете върху бутона за спиране по време на възпроизвеждането, за да спрете възпроизвеждането на звука
  • Щракнете върху бутона за възпроизвеждане, докато сте спрели да играете от самото начало
  • Щракването върху бутона за спиране по време на паузата ще освободи поставената на пауза позиция и следващия път, когато играете, ще бъде от самото начало.
  • Ако щракнете върху бутона за възпроизвеждане по време на възпроизвеждане, изпълняваният в момента звук се спира и се възпроизвежда от самото начало.

Възпроизвеждане на цикъл

Той възпроизвежда фонова музика по подразбиране и спира автоматично, когато се възпроизвежда до края. Ако искате да циклирате фоновата музика и да продължите да възпроизвеждате, проверете "Loop" в компонента Audio Source и той ще продължи да се възпроизвежда многократно, докато не натиснете бутона за спиране.

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

Ако вече сте виждали съветите от страната на звуковия ефект, може би сте забелязали, че звуковият ефект и фоновата музика могат да се възпроизвеждат със същите настройки. В зависимост от рамката на играта, обработката на звукови ефекти и фонова музика може да бъде отделна, но Unity ви позволява да играете и двете с една и съща обработка.

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

По подразбиране, когато други прозорци са активни и екранът на играта е деактивиран, самата игра е на пауза. Заедно с това се спира и възпроизвеждането на фоновата музика.

За да избегнете това, можете да го настроите да се изпълнява във фонов режим в настройките на проекта, така че фоновата музика да не се прекъсва.