Taustamuusika esitamine, peatamine, peatamine ja loopimine

Lehekülg uuendatud :
Lehe loomise kuupäev :

Kontrollimise keskkond

Windows
  • Windows 11
Ühtsuse toimetaja
  • 2021.3.3f1
Sisendsüsteemi pakett
  • 1.3.0

Selle näpunäite eeltingimused

Selle vihje kirjeldamise eelduseks on eelnevalt tehtud järgmised sätted.

Prooviga kaasas oleva materjali kohta

BGM on laenatud järgmiselt saidilt.

Teave helifailide kohta

Unity standardfunktsioonidega saab esitada järgmisi helifailivorminguid: Palun valmistage see ette, sest seda kasutatakse nendes näpunäidetes.

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

Lisateabe saamiseks vaadake Unity ametlikku dokumentatsiooni.

BGM-i taasesituse kohta

Taustamuusika esitamiseks on mitmeid viise, kuid siin tahame selgitada, kuidas seda standardsete funktsioonide abil lihtsal viisil esitada.

Sisu on nupu korraldamine ja mängimine, peatamine ja lõpetamine nupule klõpsates. Tegelikus mängus saate rakendada sama protsessi peale nuppude.

Kõigepealt asetage BGM-i mängimiseks nupp, nagu joonisel näidatud.

Lisage ettevalmistatud helifail, kukutades selle oma projekti.

Seejärel lisage hierarhiasse "Heliallikas".

Kui valite loodud heliallika, on heliallika komponendil heliklipp, kuhu kukutate oma projektist helifaili selle konfigureerimiseks.

Muide, kui alustate mängu nii, nagu see on, mängib teie seatud BGM äkki. Seda seetõttu, et ruut "Mängi mängu alguses" on märgitud. Kui soovite seda kohe stseeni alguses mängida, pole probleemi, nagu see on, kuid seekord ei mängita see kohe, nii et jätke see kontroll märkimata.

Seejärel looge skript. MusicPlayer Jätke nimi nimeks .

Skript näeb välja selline:

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 määratakse hiljem toimetajalt. See AudioSource on see, millel on äsja sisestatud helifail.

AudioSource, ja meetodid, nii et saate vastavalt mängida, peatada ja PlayPauseStop peatada.

Skripti saate manustada heliallikale, kuid sel juhul manustate selle EventSystemile. Veenduge, et skript oleks asustatud varem loodud heliallikaga.

Nüüd määrake iga meetod kolme nupu klõpsamissündmusele.

Pärast seadistamist käivitage mäng ja vaadake, kas taustamuusika mängib.

Mängimine, peatamine ja peatamine on tavaliselt kasutatavad terminid, nii et te ei pea neid üksikasjalikult kirjutama, kuid ma arvan, et need toimivad järgmiselt.

  • Kui klõpsate esitusnupul, esitatakse taustamuusikat ainult üks kord ja seda esitatakse lõpuni.
  • Taasesituse ajal klõpsake heli esitamise peatamiseks pausinuppu
  • Kui klõpsate pausi ajal esitusnuppu, esitatakse heli peatatud asendist.
  • Heli esitamise peatamiseks klõpsake taasesituse ajal stopp-nuppu
  • Klõpsake esitusnuppu, kui olete algusest peale esitamiseks peatatud
  • Pausi ajal stopp-nupule klõpsamine vabastab peatatud positsiooni ja järgmine kord, kui mängite, on see algusest.
  • Kui klõpsate taasesituse ajal esitusnuppu, peatatakse praegu esitatav heli ja seda esitatakse algusest peale.

Loopi taasesitus

See mängib vaikimisi taustamuusikat ja peatub automaatselt, kui seda lõpuni esitatakse. Kui soovite taustamuusikat loopida ja esitamist jätkata, märkige komponendis Heliallikas ruut "Loop" ja see jätkab korduvalt esitamist, kuni vajutate stopp-nuppu.

Heliefekti taasesituse sisu on sama

Kui olete juba näinud heliefektide poolel olevaid näpunäiteid, olete võib-olla märganud, et heliefekti ja taustamuusikat saab esitada samade seadetega. Sõltuvalt mängu raamistikust võib heliefektide ja taustamuusika töötlemine olla eraldi, kuid Unity võimaldab teil mängida mõlemat sama töötlusega.

Nähtusest, et taustamuusika peatub, kui aken on deaktiveeritud

Vaikimisi, kui teised aknad on aktiivsed ja mängu ekraan on deaktiveeritud, peatatakse mäng ise. Koos sellega peatatakse ka taustamuusika taasesitus.

Selle vältimiseks saate seadistada selle oma projekti seadetes taustal töötama, nii et taustamuusikat ei katkestataks.