Odtwarzanie, wstrzymywanie, zatrzymywanie i odtwarzanie muzyki w tle w pętli
Środowisko weryfikacji
- Windows
-
- Okna 11
- Edytor Unity
-
- 2021.3.3f1
- Pakiet systemu wejściowego
-
- 1.3.0
Wymagania wstępne dotyczące tej porady
Poniższe ustawienia zostały wcześniej wprowadzone jako przesłanka do opisu tej wskazówki.
O materiale dołączonym do próbki
BGM jest zapożyczony z następującej strony.
Informacje o plikach audio
Następujące formaty plików audio mogą być odtwarzane ze standardowymi funkcjami Unity: Proszę przygotować go z wyprzedzeniem, ponieważ zostanie wykorzystany w tych wskazówkach.
- OggVorbis (.ogg)
- MPEG layer 3 (.mp3)
Aby uzyskać więcej informacji, zapoznaj się z oficjalną dokumentacją Unity.
Informacje o odtwarzaniu BGM
Istnieje kilka sposobów odtwarzania muzyki w tle, ale tutaj chcemy wyjaśnić, jak odtwarzać ją w prosty sposób podczas korzystania ze standardowych funkcji.
Zawartość polega na rozmieszczeniu przycisku i odtwarzaniu, wstrzymywaniu i zatrzymywaniu przez kliknięcie przycisku. W rzeczywistej grze możesz zaimplementować ten sam proces inny niż przyciski.
Najpierw umieść przycisk, aby odtworzyć BGM, jak pokazano na rysunku.
Dodaj przygotowany plik audio, upuszczając go do projektu.
Następnie dodaj "Źródło dźwięku" do hierarchii.
Po wybraniu utworzonego źródła dźwięku składnik Źródło dźwięku zawiera klip audio, do którego należy upuścić plik audio z projektu, aby go skonfigurować.
Nawiasem mówiąc, jeśli uruchomisz grę taką, jaka jest, ustawiony BGM nagle zagra. Dzieje się tak, ponieważ opcja "Graj na początku gry" jest zaznaczona. Jeśli chcesz zagrać od razu na początku sceny, nie ma problemu tak, jak jest, ale tym razem nie będzie odtwarzany natychmiast, więc pozostaw tę kontrolę niezaznaczoną.
Następnie utwórz skrypt. MusicPlayer
Pozostaw nazwę jako .
Skrypt wygląda tak:
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
zostanie ustawione później z edytora. Ten AudioSource to ten z właśnie wstawionym plikiem audio.
AudioSource
, i metody, dzięki czemu można odpowiednio odtwarzać, wstrzymywać i Play
Pause
Stop
zatrzymywać.
Możesz dołączyć skrypt do źródła dźwięku, ale w tym przypadku dołączysz go do EventSystem. Upewnij się, że skrypt jest wypełniony utworzonym wcześniej źródłem dźwięku.
Teraz przypisz każdą metodę do zdarzenia click trzech przycisków.
Po skonfigurowaniu uruchom grę i sprawdź, czy odtwarza się muzyka w tle.
Odtwarzanie, pauza i zatrzymywanie są powszechnie używanymi terminami, więc nie musisz ich szczegółowo pisać, ale myślę, że działają w następujący sposób.
- Po kliknięciu przycisku odtwarzania muzyka w tle jest odtwarzana tylko raz i odtwarzana do końca.
- Podczas odtwarzania kliknij przycisk wstrzymania, aby zatrzymać odtwarzanie dźwięku
- Po kliknięciu przycisku odtwarzania podczas wstrzymania dźwięk jest odtwarzany z pozycji zatrzymanej.
- Kliknij przycisk zatrzymania podczas odtwarzania, aby zatrzymać odtwarzanie dźwięku
- Kliknij przycisk odtwarzania, gdy odtwarzanie jest zatrzymane od początku
- Kliknięcie przycisku zatrzymania podczas pauzy zwolni wstrzymaną pozycję i następnym razem, gdy będziesz grać, będzie to od początku.
- Jeśli klikniesz przycisk odtwarzania podczas odtwarzania, aktualnie odtwarzany dźwięk zostanie zatrzymany i odtwarzany od początku.
Odtwarzanie w pętli
Domyślnie odtwarza muzykę w tle i zatrzymuje się automatycznie, gdy jest odtwarzany do końca. Jeśli chcesz zapętlić muzykę w tle i kontynuować odtwarzanie, zaznacz "Pętla" w komponencie Źródło dźwięku i będzie on odtwarzany wielokrotnie, dopóki nie naciśniesz przycisku zatrzymania.
Zawartość odtwarzanego efektu dźwiękowego jest taka sama
Jeśli widziałeś już wskazówki po stronie efektów dźwiękowych, być może zauważyłeś, że efekt dźwiękowy i muzyka w tle mogą być odtwarzane z tymi samymi ustawieniami. W zależności od struktury gry, przetwarzanie efektów dźwiękowych i muzyki w tle może być oddzielne, ale Unity pozwala grać w oba z tym samym przetwarzaniem.
O zjawisku, że muzyka w tle zatrzymuje się, gdy okno jest wyłączone
Domyślnie, gdy inne okna są aktywne, a ekran gry jest wyłączony, sama gra jest wstrzymywana. Wraz z tym odtwarzanie muzyki w tle jest również zawieszone.
Aby tego uniknąć, możesz ustawić go tak, aby działał w tle w ustawieniach projektu, aby muzyka w tle nie była przerywana.