Prehrávanie, pozastavenie, zastavenie a opakovanie hudby na pozadí

Stránka aktualizovaná :
Dátum vytvorenia strany :

Prostredie overovania

Windows
  • Windows 11
Editor jednoty
  • 2021.3.3f1
Vstupný systémový balík
  • 1.3.0

Predpoklady pre tento tip

Nasledujúce nastavenia boli vykonané vopred ako predpoklad pre popis tohto tipu.

O materiáli zahrnutom do vzorky

BGM je požičaný z nasledujúcej stránky.

Informácie o zvukových súboroch

Nasledujúce formáty zvukových súborov je možné prehrávať so štandardnými funkciami Unity: Pripravte si ho vopred, pretože bude použitý v týchto tipoch.

  • OggVorbis (.ogg)
  • Vrstva MPEG 3 (.mp3)

Viac informácií nájdete v oficiálnej dokumentácii Unity.

Informácie o prehrávaní BGM

Existuje niekoľko spôsobov, ako prehrávať hudbu na pozadí, ale tu chceme vysvetliť, ako ju prehrávať jednoduchým spôsobom pri používaní štandardných funkcií.

Obsahom je usporiadanie tlačidla a prehrávanie, pozastavenie a zastavenie kliknutím na tlačidlo. V skutočnej hre môžete implementovať rovnaký proces okrem tlačidiel.

Najprv umiestnite tlačidlo na prehrávanie BGM, ako je znázornené na obrázku.

Pridajte pripravený zvukový súbor tak, že ho vložíte do projektu.

Potom pridajte do hierarchie "Zdroj zvuku".

Keď vyberiete zdroj zvuku, ktorý ste vytvorili, súčasť Zdroj zvuku obsahuje zvukový klip, do ktorého vložíte zvukový súbor z projektu a nakonfigurujete ho.

Mimochodom, ak spustíte hru tak, ako je, BGM, ktoré ste nastavili, sa zrazu prehrá. Je to preto, že je začiarknuté políčko "Play at game start" (Prehrať pri spustení hry). Ak ju chcete hrať okamžite na začiatku scény, nie je problém taká, aká je, ale tentoraz sa nebude hrať okamžite, takže nechajte túto kontrolu nezačiarknutú.

Potom vytvorte skript. MusicPlayer Názov ponechajte ako .

Skript vyzerá 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 sa nastaví neskôr z editora. Tento AudioSource je ten, ktorý obsahuje zvukový súbor, ktorý ste práve vložili.

AudioSource, a metódy, aby ste mohli prehrávať, pozastaviť a PlayPauseStop zastaviť.

Skript môžete pripojiť k zdroju zvuku, ale v takom prípade ho pripojíte k systému udalostí. Skontrolujte, či je skript vyplnený zdrojom zvuku, ktorý ste predtým vytvorili.

Teraz priraďte každú metódu udalosti kliknutia na tri tlačidlá.

Po nastavení spustite hru a skontrolujte, či sa prehráva hudba na pozadí.

Prehrať, pozastaviť a zastaviť sú bežne používané výrazy, takže ich nemusíte písať podrobne, ale myslím si, že fungujú nasledovne.

  • Keď kliknete na tlačidlo prehrávania, hudba na pozadí sa prehrá iba raz a prehrá sa až do konca.
  • Počas prehrávania kliknutím na tlačidlo pozastavenia zastavíte prehrávanie zvuku
  • Keď počas pozastavenia kliknete na tlačidlo prehrávania, zvuk sa prehrá zo zastavenej polohy.
  • Kliknutím na tlačidlo zastavenia počas prehrávania zastavíte prehrávanie zvuku
  • Kliknite na tlačidlo prehrávania a zároveň zastavte prehrávanie od začiatku
  • Kliknutím na tlačidlo stop počas pauzy sa uvoľní pozastavená pozícia a pri ďalšom hraní to bude od začiatku.
  • Ak počas prehrávania kliknete na tlačidlo prehrávania, aktuálne prehrávaný zvuk sa zastaví a prehrá od začiatku.

Prehrávanie slučky

V predvolenom nastavení prehráva hudbu na pozadí a automaticky sa zastaví, keď sa prehrá až do konca. Ak chcete prehrávať hudbu na pozadí v slučke a pokračovať v prehrávaní, začiarknite políčko "Loop" v komponente Audio Source (Zdroj zvuku) a bude sa opakovane prehrávať, kým nestlačíte tlačidlo stop.

Obsah prehrávania zvukových efektov je rovnaký

Ak ste už videli tipy na strane zvukových efektov, možno ste si všimli, že zvukový efekt a hudbu na pozadí je možné prehrávať s rovnakými nastaveniami. V závislosti od herného rámca môže byť spracovanie zvukových efektov a hudby na pozadí oddelené, ale Unity vám umožňuje hrať s rovnakým spracovaním.

O jave, že hudba na pozadí sa pozastaví, keď je okno deaktivované

V predvolenom nastavení, keď sú aktívne ostatné okná a obrazovka hry je deaktivovaná, samotná hra sa pozastaví. Spolu s tým je pozastavené aj prehrávanie hudby na pozadí.

Ak sa tomu chcete vyhnúť, môžete ho nastaviť tak, aby sa spúšťal na pozadí v nastaveniach projektu, aby sa hudba na pozadí neprerušovala.