Afspil, pause, stop og loop baggrundsmusik
Miljø til bekræftelse
- Windows
-
- Windows 11
- Enhedslistens redaktør
-
- 2021.3.3f1
- Input System Pakke
-
- 1.3.0
Forudsætninger for dette tip
Følgende indstillinger er foretaget på forhånd som en forudsætning for beskrivelsen af dette tip.
Om det materiale, der følger med prøven
BGM lånes fra følgende side.
Om lydfiler
Følgende lydfilformater kan afspilles med Unitys standardfunktioner: Forbered det på forhånd, fordi det vil blive brugt i disse tip.
- OggVorbis (.ogg)
- MPEG-lag 3 (.mp3)
Du kan finde flere oplysninger i den officielle Unity-dokumentation.
Om BGM-afspilning
Der er flere måder at afspille baggrundsmusik på, men her vil vi forklare, hvordan man spiller det på en enkel måde, mens du bruger standardfunktionerne.
Indholdet er at arrangere en knap og afspille, pause og stoppe ved at klikke på knappen. I et rigtigt spil kan du implementere den samme proces bortset fra knapper.
Placer først en knap for at afspille BGM som vist på figuren.
Tilføj den forberedte lydfil ved at slippe den i dit projekt.
Tilføj derefter "Audio Source" til hierarkiet.
Når du vælger den lydkilde, du har oprettet, har komponenten Lydkilde et lydklip, hvor du slipper en lydfil fra projektet for at konfigurere den.
Forresten, hvis du starter spillet som det er, vil den BGM, du indstiller, pludselig spille. Dette skyldes, at "Spil ved spilstart" er markeret. Hvis du vil afspille det med det samme i starten af scenen, er der ikke noget problem, som det er, men denne gang afspilles det ikke med det samme, så lad denne kontrol være umarkeret.
Opret derefter et script. MusicPlayer
Lad navnet være .
Scriptet ser sådan ud:
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
vil blive indstillet senere fra editoren. Denne AudioSource er den med den lydfil, du lige har indsat.
AudioSource
, og metoder, så du kan afspille, sætte på pause og Play
Pause
Stop
stoppe henholdsvis.
Du kan vedhæfte scriptet til lydkilden, men i dette tilfælde skal du vedhæfte det til EventSystem. Sørg for, at dit script er udfyldt med den lydkilde, du oprettede tidligere.
Tildel nu hver metode til klikhændelsen for de tre knapper.
Efter opsætningen skal du køre spillet og se, om baggrundsmusikken afspilles.
Afspil, pause og stop er almindeligt anvendte udtryk, så du behøver ikke at skrive dem i detaljer, men jeg tror, de fungerer som følger.
- Når du klikker på afspilningsknappen, afspilles baggrundsmusikken kun én gang og afspilles til slutningen.
- Under afspilning skal du klikke på pauseknappen for at stoppe afspilningen af lyden
- Når du klikker på afspilningsknappen, mens den er sat på pause, afspilles lyden fra den stoppede position.
- Klik på stopknappen under afspilning for at stoppe afspilningen af lyden
- Klik på afspilningsknappen, mens du stopper, for at afspille fra begyndelsen
- Hvis du klikker på stopknappen under pausen, frigives den pausede position, og næste gang du spiller, vil det være fra begyndelsen.
- Hvis du klikker på afspilningsknappen under afspilning, stoppes og afspilles den aktuelt afspillede lyd fra begyndelsen.
Afspilning af sløjfe
Den afspiller baggrundsmusik som standard og stopper automatisk, når den afspilles til slutningen. Hvis du vil sløjfe baggrundsmusikken og fortsætte med at spille, skal du markere "Loop" i lydkildekomponenten, og den vil fortsætte med at afspille gentagne gange, indtil du trykker på stopknappen.
Indholdet af afspilningen af lydeffekten er det samme
Hvis du allerede har set tipene på lydeffektsiden, har du måske bemærket, at lydeffekten og baggrundsmusikken kan afspilles med de samme indstillinger. Afhængigt af spilrammen kan behandlingen af lydeffekter og baggrundsmusik være adskilt, men Unity giver dig mulighed for at spille begge med samme behandling.
Om fænomenet, at baggrundsmusik pauser, når vinduet deaktiveres
Når andre vinduer er aktive, og spilskærmen er deaktiveret, er selve spillet som standard sat på pause. Sammen med dette er afspilningen af baggrundsmusikken også suspenderet.
For at undgå dette kan du indstille den til at køre i baggrunden i dine projektindstillinger, så baggrundsmusikken ikke afbrydes.