Přehrávání, pozastavení, zastavení a opakování hudby na pozadí
Ověřovací prostředí
- Windows
-
- Systém Windows 11
- Editor jednoty
-
- 2021.3.3f1
- Vstupní systémový balíček
-
- 1.3.0
Předpoklady pro tento tip
Následující nastavení byla provedena předem jako předpoklad pro popis tohoto tipu.
O materiálu obsaženém ve vzorku
BGM je vypůjčeno z následujícího webu.
O zvukových souborech
Pomocí standardních funkcí Unity lze přehrávat následující formáty zvukových souborů: Připravte si ji předem, protože bude použita v těchto tipech.
- OggVorbis (.ogg)
- MPEG vrstva 3 (.mp3)
Další informace najdete v oficiální dokumentaci k jednotě.
O přehrávání BGM
Existuje několik způsobů, jak přehrávat hudbu na pozadí, ale zde chceme vysvětlit, jak ji přehrávat jednoduchým způsobem při použití standardních funkcí.
Obsah je uspořádat tlačítko a přehrát, pozastavit a zastavit kliknutím na tlačítko. Ve skutečné hře můžete implementovat stejný proces kromě tlačítek.
Nejprve umístěte tlačítko pro přehrávání BGM, jak je znázorněno na obrázku.
Přidejte připravený zvukový soubor tak, že jej přetáhnete do projektu.
Dále přidejte do hierarchie "Zdroj zvuku".
Když vyberete zdroj zvuku, který jste vytvořili, komponenta Zdroj zvuku má zvukový klip, do kterého přetáhnete zvukový soubor z projektu a nakonfigurujete jej.
Mimochodem, pokud spustíte hru tak, jak je, BGM, kterou jste nastavili, se náhle přehraje. Je to proto, že je zaškrtnuto políčko "Hrát při zahájení hry". Pokud ji chcete přehrát okamžitě na začátku scény, není problém tak, jak je, ale tentokrát se nepřehraje okamžitě, takže nechte tuto kontrolu nezaškrtnutou.
Dále vytvořte skript. MusicPlayer
Název ponechte jako .
Skript vypadá takto:
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
bude nastaveno později z editoru. Tento AudioSource je ten se zvukovým souborem, který jste právě vložili.
AudioSource
, a metody, abyste mohli přehrávat, pozastavovat a Play
Pause
Stop
zastavovat.
Skript můžete připojit ke zdroji zvuku, ale v tomto případě jej připojíte k systému událostí. Ujistěte se, že je skript naplněn zdrojem zvuku, který jste vytvořili dříve.
Nyní přiřaďte každou metodu k události kliknutí tří tlačítek.
Po nastavení spusťte hru a zjistěte, zda se přehrává hudba na pozadí.
Přehrát, pozastavit a zastavit jsou běžně používané termíny, takže je nemusíte podrobně psát, ale myslím, že fungují následovně.
- Když kliknete na tlačítko Přehrát, hudba na pozadí se přehraje pouze jednou a přehraje se až do konce.
- Během přehrávání kliknutím na tlačítko pauzy zastavíte přehrávání zvuku
- Když v pozastaveném stavu kliknete na tlačítko přehrávání, zvuk se přehraje ze zastavené polohy.
- Kliknutím na tlačítko Zastavit během přehrávání zastavíte přehrávaný zvuk
- Klikněte na tlačítko Přehrát, když je zastaveno, abyste mohli hrát od začátku
- Kliknutím na tlačítko stop během pauzy se pozastavená pozice uvolní a při příštím hraní to bude od začátku.
- Pokud během přehrávání klepnete na tlačítko Přehrát, aktuálně přehrávaný zvuk se zastaví a přehraje se od začátku.
Přehrávání ve smyčce
Ve výchozím nastavení přehrává hudbu na pozadí a automaticky se zastaví, když je přehrávána až do konce. Chcete-li opakovat hudbu na pozadí a pokračovat v přehrávání, zaškrtněte "Smyčka" v komponentě Zdroj zvuku a bude pokračovat v opakovaném přehrávání, dokud nestisknete tlačítko Stop.
Obsah přehrávání zvukových efektů je stejný
Pokud jste již viděli tipy na straně zvukových efektů, možná jste si všimli, že zvukový efekt a hudbu na pozadí lze přehrávat se stejným nastavením. V závislosti na herním rámci může být zpracování zvukových efektů a hudby na pozadí oddělené, ale Unity umožňuje hrát oba se stejným zpracováním.
O jevu, kdy se hudba na pozadí pozastaví, když je okno deaktivováno
Ve výchozím nastavení, když jsou aktivní jiná okna a herní obrazovka je deaktivována, samotná hra je pozastavena. Spolu s tím je také pozastaveno přehrávání hudby na pozadí.
Chcete-li tomu zabránit, můžete jej nastavit tak, aby běžel na pozadí v nastavení projektu, aby nedošlo k přerušení hudby na pozadí.