Přehrávání, pozastavení, zastavení a opakování hudby na pozadí

Stránky aktualizovány :
Datum vytvoření stránky :

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 PlayPauseStop 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í.