Predvajanje, začasna zaustavitev ali ustavitev posameznega zvočnega učinka

Stran posodobljena :
Datum ustvarjanja strani :

Okolje za preverjanje

Windows
  • Windows 11
Urejevalnik Unity
  • 2021.3.3F1
Paket vhodnega sistema
  • 1.3.0

Predpogoji za ta nasvet

Naslednje nastavitve so bile vnaprej narejene kot premisa za opis tega nasveta.

O materialu, vključenem v vzorec

Zvočni učinki so izposojeni na naslednjih spletnih mestih.

O zvočnih datotekah

S standardnimi funkcijami Unity lahko predvajate naslednje oblike zapisa zvočnih datotek: Prosimo, pripravite ga vnaprej, ker bo uporabljen v teh nasvetih.

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

Za več informacij glejte uradno dokumentacijo Unity.

O predvajanju zvočnih učinkov

Obstaja več načinov za predvajanje zvočnih učinkov, tukaj pa vas želimo voditi skozi preprost način predvajanja ob uporabi standardnih funkcij.

Vsebina je, da razporedite gumb in predvajate, začasno ustavite in ustavite s klikom na gumb. V dejanski igri lahko isti postopek izvedete drugače kot gumbe.

Najprej postavite gumb za predvajanje zvočnega učinka, kot je prikazano na sliki.

Pripravljeno zvočno datoteko dodajte tako, da jo spustite v projekt.

Nato v hierarhijo dodajte »Avdio vir«.

Ko izberete vir zvoka, ki ste ga ustvarili, ima komponenta Vir zvoka zvočni izrezek, v katerega spustite zvočno datoteko iz projekta, da jo konfigurirate.

Mimogrede, če začnete igro takšno, kot je, se bo zvočni učinek, ki ste ga nastavili, nenadoma predvajal. To je zato, ker je označeno polje »Igraj na začetku igre«. Malo verjetno je, da se bo zvočni učinek predvajal nenadoma, zato pustite to preverjanje nepreverjeno.

Nato ustvarite skript. SoundPlayer Pustite ime kot .

Scenarij izgleda takole:

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 bo nastavljen pozneje iz urejevalnika. Ta avdio vir je tisti, pri katerem je zvočni učinek nastavljen prej.

AudioSource, in načine, da lahko predvajate, začasno ustavite in PlayPauseStop ustavite.

Skript lahko priložite viru zvoka, vendar ga boste v tem primeru priložili sistemu EventSystem. Prepričajte se, da je skript izpolnjen z zvočnim virom, ki ste ga ustvarili prej.

Zdaj dodelite vsako metodo dogodku klika treh gumbov.

Ko končate, zaženite igro in preverite, ali se zvočni učinki predvajajo.

Igranje, premor in ustavitev so pogosto uporabljeni izrazi, zato vam jih ni treba podrobno pisati, vendar mislim, da delujejo na naslednji način.

  • Ko kliknete gumb za predvajanje, se zvočni učinek predvaja samo enkrat in predvaja do konca.
  • Med predvajanjem kliknite gumb za začasno ustavitev, da ustavite predvajanje zvoka
  • Ko med premorom kliknete gumb za predvajanje, se zvok predvaja iz ustavljenega položaja.
  • Med predvajanjem kliknite gumb za zaustavitev, da ustavite predvajanje zvoka
  • Kliknite gumb za predvajanje, ko ste se ustavili za predvajanje od začetka
  • Če med premorom kliknete gumb za zaustavitev, se sprosti začasno ustavljen položaj in naslednjič, ko igrate, bo to od začetka.
  • Če med predvajanjem kliknete gumb za predvajanje, se zvok, ki se trenutno predvaja, ustavi in predvaja od začetka.

Slabosti uporabe samega AudioSourcea

Obstaja rešitev, vendar ima ta nasvet naslednje pomanjkljivosti. Te rešitve bomo obravnavali v drugem nasvetu.

Dveh ali več istih zvokov ni mogoče predvajati hkrati

To lahko preverite tako, da večkrat pritisnete gumb za predvajanje, vendar prejšnji zvok izgine, ko predvajate nov zvok. Ko že govorimo o slabostih, je to pomanjkljivost, toda nasprotno, če predvajate isti zvok drug na drugega, bo glasnost zelo glasna, zato je prednost v smislu, da jo preprečuje. Vendar pa bo prejšnji zvok še vedno izginil, zato bo glede na vrsto zvoka nenaraven.

Imeti morate toliko zvočnih virov, kot je vrst zvokov za predvajanje

Ker je v viru zvoka mogoče nastaviti samo en zvočni posnetek, morate navesti avdiovir, kot želite toliko zvokov. Pripravite lahko tudi samo en avdio vir in spremenite zvočni posnetek pri predvajanju drugega zvoka. To je nenaravno, ker prejšnji zvok izgine zaradi težave, da dveh ali več istih zvokov, napisanih prej, ni mogoče predvajati hkrati.