Hintergrundmusik abspielen, anhalten, stoppen und abspielen

Diese Seite wurde aktualisiert :
Erstellungsdatum der Seite :

Verifizierungsumgebung

Fenster
  • Windows 11
Unity-Editor
  • 2021.3.3f1
Eingabesystem-Paket
  • 1.3.0

Voraussetzungen für diesen Tipp

Die folgenden Einstellungen wurden im Vorfeld als Prämisse für die Beschreibung dieses Tipps vorgenommen.

Über das Material, das in der Probe enthalten ist

Die Hintergrundmusik ist von der folgenden Website ausgeliehen.

Informationen zu Audiodateien

Die folgenden Audiodateiformate können mit den Standardfunktionen von Unity wiedergegeben werden: Bitte bereiten Sie es im Voraus vor, da es in diesen Tipps verwendet wird.

  • OggVorbis (.ogg)
  • MPEG-Schicht 3 (.mp3)

Weitere Informationen finden Sie in der offiziellen Unity-Dokumentation.

Informationen zur Hintergrundmusikwiedergabe

Es gibt mehrere Möglichkeiten, Hintergrundmusik abzuspielen, aber hier möchten wir erklären, wie man sie auf einfache Weise abspielen kann, während man die Standardfunktionen verwendet.

Der Inhalt besteht darin, eine Schaltfläche anzuordnen und durch Klicken auf die Schaltfläche abzuspielen, anzuhalten und zu stoppen. In einem echten Spiel können Sie den gleichen Prozess implementieren, abgesehen von Schaltflächen.

Platzieren Sie zunächst eine Taste, um Hintergrundmusik abzuspielen, wie in der Abbildung gezeigt.

Fügen Sie die vorbereitete Audiodatei hinzu, indem Sie sie in Ihrem Projekt ablegen.

Fügen Sie als Nächstes "Audioquelle" zur Hierarchie hinzu.

Wenn Sie die von Ihnen erstellte Audioquelle auswählen, verfügt die Audioquellenkomponente über einen Audioclip, in den Sie eine Audiodatei aus Ihrem Projekt einfügen können, um sie zu konfigurieren.

Übrigens, wenn Sie das Spiel so starten, wie es ist, wird die von Ihnen eingestellte Hintergrundmusik plötzlich abgespielt. Dies liegt daran, dass "Beim Spielstart spielen" aktiviert ist. Wenn Sie es sofort zu Beginn der Szene abspielen möchten, gibt es kein Problem, aber dieses Mal wird es nicht sofort abgespielt, also lassen Sie dieses Häkchen deaktiviert.

Erstellen Sie als Nächstes ein Skript. MusicPlayer Lassen Sie den Namen als .

Das Skript sieht wie folgt aus:

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 wird später aus dem Editor eingestellt. Diese AudioSource ist diejenige mit der Audiodatei, die Sie gerade eingefügt haben.

AudioSource, und -Methoden, sodass Sie die Wiedergabe bzw. das Anhalten PlayPauseStop halten können.

Sie können das Skript an die Audioquelle anfügen, aber in diesem Fall fügen Sie es an das EventSystem an. Stellen Sie sicher, dass Ihr Skript mit der Audioquelle gefüllt ist, die Sie zuvor erstellt haben.

Ordnen Sie nun jede Methode dem click-Ereignis der drei Schaltflächen zu.

Führen Sie nach dem Einrichten das Spiel aus und prüfen Sie, ob die Hintergrundmusik abgespielt wird.

Wiedergabe, Pause und Stopp sind häufig verwendete Begriffe, sodass Sie sie nicht im Detail schreiben müssen, aber ich denke, sie funktionieren wie folgt.

  • Wenn Sie auf die Schaltfläche "Wiedergabe" klicken, wird die Hintergrundmusik nur einmal abgespielt und bis zum Ende abgespielt.
  • Klicken Sie während der Wiedergabe auf die Pause-Taste, um die Tonwiedergabe zu stoppen
  • Wenn Sie während der Pause auf die Wiedergabetaste klicken, wird der Ton von der gestoppten Position aus wiedergegeben.
  • Klicken Sie während der Wiedergabe auf die Stopp-Taste, um die Wiedergabe des Tons zu stoppen
  • Klicken Sie auf die Wiedergabetaste, während die Wiedergabe von Anfang an unterbrochen ist
  • Wenn Sie während der Pause auf die Stopp-Taste klicken, wird die pausierte Position freigegeben und beim nächsten Spielen von Anfang an.
  • Wenn Sie während der Wiedergabe auf die Wiedergabetaste klicken, wird der aktuell wiedergegebene Ton gestoppt und von Anfang an abgespielt.

Loop-Wiedergabe

Es spielt standardmäßig Hintergrundmusik ab und stoppt automatisch, wenn es bis zum Ende abgespielt wird. Wenn Sie die Hintergrundmusik in einer Schleife abspielen und die Wiedergabe fortsetzen möchten, aktivieren Sie "Loop" in der Audioquellenkomponente und sie wird wiederholt abgespielt, bis Sie die Stopptaste drücken.

Der Inhalt der Soundeffektwiedergabe ist derselbe

Wenn Sie die Tipps auf der Soundeffektseite bereits gesehen haben, ist Ihnen vielleicht aufgefallen, dass der Soundeffekt und die Hintergrundmusik mit denselben Einstellungen abgespielt werden können. Je nach Spielrahmen kann die Verarbeitung von Soundeffekten und Hintergrundmusik getrennt sein, aber Unity ermöglicht es Ihnen, beide mit derselben Verarbeitung zu spielen.

Über das Phänomen, dass die Hintergrundmusik pausiert, wenn das Fenster deaktiviert wird

Wenn andere Fenster aktiv sind und der Spielbildschirm deaktiviert ist, wird das Spiel selbst standardmäßig angehalten. Gleichzeitig wird auch die Wiedergabe der Hintergrundmusik ausgesetzt.

Um dies zu vermeiden, können Sie es in Ihren Projekteinstellungen so einstellen, dass es im Hintergrund läuft, damit die Hintergrundmusik nicht unterbrochen wird.