Háttérzene lejátszása, szüneteltetése, leállítása és ismétlése

Oldal frissítve :
Oldal létrehozásának dátuma :

Ellenőrzési környezet

Windows
  • Windows 11 esetén
Unity-szerkesztő
  • 2021.3.3f1
Bemeneti rendszercsomag
  • 1.3.0

A tipp előfeltételei

A következő beállításokat előre elvégeztük a tipp leírásának előfeltételeként.

A mintához mellékelt anyagról

A BGM-et a következő oldalról kölcsönzik.

Hangfájlokról

A következő hangfájlformátumok játszhatók le a Unity szabványos funkcióival: Kérjük, készítse elő előre, mert ezekben a tippekben fogják használni.

  • OggVorbis negyed (.ogg)
  • MPEG 3. réteg (.mp3)

További információért tekintse meg a Unity hivatalos dokumentációját.

A BGM-lejátszásról

A háttérzene lejátszásának számos módja van, de itt szeretnénk elmagyarázni, hogyan lehet egyszerű módon lejátszani a szokásos funkciók használata közben.

A tartalom egy gomb elrendezése, valamint a gombra kattintva történő lejátszás, szüneteltetés és leállítás. Egy tényleges játékban ugyanazt a folyamatot hajthatja végre, mint a gombok.

Először helyezzen el egy gombot a BGM lejátszásához az ábrán látható módon.

Adja hozzá az előkészített hangfájlt úgy, hogy bedobja a projektbe.

Ezután adja hozzá az "Audio Source" -t a hierarchiához.

Amikor kiválasztja a létrehozott hangforrást, a Hangforrás összetevő rendelkezik egy hangklippel, amelybe egy hangfájlt húzhat a projektből a konfiguráláshoz.

Egyébként, ha elindítja a játékot, ahogy van, a beállított BGM hirtelen elindul. Ez azért van, mert a "Lejátszás a játék kezdetén" be van jelölve. Ha azonnal le akarja játszani a jelenet elején, akkor nincs probléma, de ezúttal nem fog azonnal lejátszani, ezért hagyja bejelölve ezt a csekket.

Ezután hozzon létre egy szkriptet. MusicPlayer Hagyja meg a nevet .

A szkript így néz ki:

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 később lesz beállítva a szerkesztőből. Ez az AudioSource az, amely az imént beillesztett hangfájlt tartalmazza.

AudioSource, és metódusokat, így lejátszhatja, szüneteltetheti és PlayPauseStop leállíthatja őket.

A szkriptet csatolhatja a hangforráshoz, de ebben az esetben az eseményrendszerhez kell csatolnia. Győződjön meg arról, hogy a szkript fel van töltve a korábban létrehozott hangforrással.

Most rendelje hozzá az egyes módszereket a három gomb kattintási eseményéhez.

A beállítás után futtassa a játékot, és nézze meg, hogy a háttérzene lejátszódik-e.

A lejátszás, a szünet és a leállítás gyakran használt kifejezések, így nem kell részletesen leírni őket, de azt hiszem, a következőképpen működnek.

  • Ha rákattint a lejátszás gombra, a háttérzene csak egyszer kerül lejátszásra, és a végéig lejátszásra kerül.
  • Lejátszás közben kattintson a szünet gombra a hang lejátszásának leállításához
  • Ha szüneteltetett állapotban rákattint a lejátszás gombra, a hang lejátszása leállított helyzetből történik.
  • Kattintson a leállítás gombra lejátszás közben a hang lejátszásának leállításához
  • Kattintson a lejátszás gombra, miközben megállt az elejétől való lejátszáshoz
  • Ha szünet közben rákattint a stop gombra, feloldja a szüneteltetett pozíciót, és a következő alkalommal, amikor játszik, az elejétől kezdődik.
  • Ha lejátszás közben a lejátszás gombra kattint, az éppen lejátszott hang leáll, és lejátszása elölről kezdődik.

Hurok lejátszás

Alapértelmezés szerint háttérzenét játszik le, és automatikusan leáll, amikor a végéig játsszák. Ha hurkolni szeretné a háttérzenét és folytatni szeretné a lejátszást, jelölje be a "Loop" lehetőséget az Audio Source komponensben, és a lejátszás többször folytatódik, amíg meg nem nyomja a stop gombot.

A hangeffektus lejátszásának tartalma megegyezik

Ha már látta a tippeket a hanghatás oldalán, akkor észrevehette, hogy a hangeffektus és a háttérzene ugyanazokkal a beállításokkal játszható le. A játékkerettől függően a hanghatások és a háttérzene feldolgozása külön lehet, de a Unity lehetővé teszi, hogy mindkettőt ugyanazzal a feldolgozással játssza.

A jelenségről, hogy a háttérzene szünetel, amikor az ablak ki van kapcsolva

Alapértelmezés szerint, ha más ablakok aktívak, és a játék képernyője ki van kapcsolva, maga a játék szünetel. Ezzel együtt a háttérzene lejátszása is felfüggesztésre kerül.

Ennek elkerülése érdekében beállíthatja, hogy a háttérben fusson a projektbeállításokban, hogy a háttérzene ne szakadjon meg.