Achtergrondmuziek afspelen, pauzeren, stoppen en herhalen

Pagina bijgewerkt :
Aanmaakdatum van pagina :

Verificatieomgeving

Ramen
  • Voor Windows 11
Unity Editor
  • 2021.3.3f1
Input systeem pakket
  • 1.3.0

Vereisten voor deze tip

De volgende instellingen zijn vooraf gemaakt als uitgangspunt voor de beschrijving van deze tip.

Over het materiaal dat bij het monster is geleverd

BGM is geleend van de volgende site.

Informatie over audiobestanden

De volgende audiobestandsindelingen kunnen worden afgespeeld met de standaardfuncties van Unity: Bereid het van tevoren voor, want het zal in deze tips worden gebruikt.

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

Zie voor meer informatie de officiële Unity-documentatie.

Over BGM-weergave

Er zijn verschillende manieren om achtergrondmuziek af te spelen, maar hier willen we uitleggen hoe je het op een eenvoudige manier kunt afspelen terwijl je de standaardfuncties gebruikt.

De inhoud is om een knop te rangschikken en af te spelen, te pauzeren en te stoppen door op de knop te klikken. In een echt spel kun je hetzelfde proces implementeren, behalve knoppen.

Plaats eerst een knop om BGM af te spelen zoals weergegeven in de afbeelding.

Voeg het voorbereide audiobestand toe door het in uw project te plaatsen.

Voeg vervolgens "Audio Source" toe aan de hiërarchie.

Wanneer u de audiobron selecteert die u hebt gemaakt, heeft het onderdeel Audiobron een audioclip, waarin u een audiobestand uit uw project neerzet om het te configureren.

Trouwens, als je het spel start zoals het is, zal de BGM die je instelt plotseling spelen. Dit komt omdat "Speel bij het starten van het spel" is aangevinkt. Als je het meteen aan het begin van de scène wilt spelen, is er geen probleem zoals het is, maar deze keer zal het niet onmiddellijk worden afgespeeld, dus laat deze controle niet aangevinkt.

Maak vervolgens een script. MusicPlayer Laat de naam staan als .

Het script ziet er als volgt uit:

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 wordt later ingesteld door de editor. Deze audiobron is degene met het audiobestand dat u zojuist hebt ingevoegd.

AudioSource, en methoden, zodat u respectievelijk kunt afspelen, pauzeren en PlayPauseStop stoppen.

U kunt het script koppelen aan de audiobron, maar in dit geval koppelt u het aan het gebeurtenissysteem. Zorg ervoor dat uw script is gevuld met de audiobron die u eerder hebt gemaakt.

Wijs nu elke methode toe aan de klikgebeurtenis van de drie knoppen.

Na het instellen voert u het spel uit en kijkt u of de achtergrondmuziek wordt afgespeeld.

Afspelen, pauzeren en stoppen zijn veelgebruikte termen, dus je hoeft ze niet in detail te schrijven, maar ik denk dat ze als volgt werken.

  • Wanneer u op de afspeelknop klikt, wordt de achtergrondmuziek slechts één keer afgespeeld en tot het einde afgespeeld.
  • Klik tijdens het afspelen op de pauzeknop om te voorkomen dat het geluid wordt afgespeeld
  • Wanneer u op de afspeelknop klikt terwijl u bent gepauzeerd, wordt het geluid afgespeeld vanuit de gestopte positie.
  • Klik op de stopknop tijdens het afspelen om het afspelen van het geluid te stoppen
  • Klik op de afspeelknop terwijl u bent gestopt om vanaf het begin te spelen
  • Als u tijdens de pauze op de stopknop klikt, wordt de gepauzeerde positie losgelaten en de volgende keer dat u speelt, is dit vanaf het begin.
  • Als u tijdens het afspelen op de afspeelknop klikt, wordt het momenteel afgespeelde geluid gestopt en vanaf het begin afgespeeld.

Lus afspelen

Het speelt standaard achtergrondmuziek af en stopt automatisch wanneer het tot het einde wordt afgespeeld. Als u de achtergrondmuziek wilt herhalen en wilt doorgaan met spelen, vinkt u "Loop" aan in de audiobroncomponent en deze blijft herhaaldelijk afspelen totdat u op de stopknop drukt.

De inhoud van het afspelen van het geluidseffect is hetzelfde

Als je de tips aan de kant van het geluidseffect al hebt gezien, heb je misschien gemerkt dat het geluidseffect en de achtergrondmuziek met dezelfde instellingen kunnen worden afgespeeld. Afhankelijk van het spelkader kan de verwerking van geluidseffecten en achtergrondmuziek gescheiden zijn, maar met Unity kun je beide met dezelfde verwerking spelen.

Over het fenomeen dat achtergrondmuziek pauzeert wanneer het venster wordt gedeactiveerd

Wanneer andere vensters actief zijn en het spelscherm is gedeactiveerd, wordt het spel zelf standaard gepauzeerd. Daarnaast wordt ook het afspelen van de achtergrondmuziek opgeschort.

Om dit te voorkomen, kunt u instellen dat het op de achtergrond wordt uitgevoerd in uw projectinstellingen, zodat de achtergrondmuziek niet wordt onderbroken.