Prehratie, pozastavenie alebo zastavenie jedného zvukového efektu

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

Zvukové efekty sú požičané z nasledujúcich stránok.

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.

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

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

Prehrávanie zvukových efektov

Existuje niekoľko spôsobov, ako prehrávať zvukové efekty, ale tu vás chceme previesť jednoduchým spôsobom ich prehrávania 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.

Najskôr umiestnite tlačidlo na prehrávanie zvukového efektu, 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, zvukový efekt, ktorý ste nastavili, sa náhle prehrá. Je to preto, že je začiarknuté políčko "Play at game start" (Prehrať pri spustení hry). Je nepravdepodobné, že sa zvukový efekt prehrá náhle, preto nechajte túto kontrolu nezačiarknutú.

Potom vytvorte skript. SoundPlayer Názov ponechajte ako .

Skript vyzerá takto:

using UnityEngine;

public class SoundPlayer : 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ý má zvukový efekt nastavený skôr.

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 dokončení spustite hru a zistite, či sa prehrávajú zvukové efekty.

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, zvukový efekt 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.

Nevýhody používania samotného AudioSource

Existuje alternatívne riešenie, ale tento tip má nasledujúce nevýhody. Týmto riešeniam sa budeme venovať v ďalšom tipe.

Nie je možné prehrať dva alebo viac rovnakých zvukov súčasne

Môžete to skontrolovať viacnásobným stlačením tlačidla prehrávania, ale predchádzajúci zvuk zmizne, keď prehráte nový zvuk. Keď už hovoríme o nevýhodách, je to nevýhoda, ale naopak, ak budete hrať rovnaký zvuk na sebe, hlasitosť bude veľmi hlasná, takže je to výhoda v tom zmysle, že tomu zabráni. Predchádzajúci zvuk však stále zmizne, takže v závislosti od typu zvuku bude neprirodzený.

Musíte mať toľko zvukových zdrojov, koľko je typov zvukov na prehrávanie

Keďže v AudioSource je možné nastaviť iba jeden zvukový klip, musíte poskytnúť AudioSource, pretože máte toľko zvukov, koľko chcete. Môžete tiež pripraviť iba jeden AudioSource a zmeniť zvukový klip pri prehrávaní iného zvuku. Je to neprirodzené, pretože predchádzajúci zvuk zmizne kvôli problému, že dva alebo viac rovnakých zvukov napísaných predtým nie je možné prehrávať súčasne.