Reproduir, posar en pausa, aturar i enllaçar música de fons

Pàgina actualitzada :
Data de creació de la pàgina :

Entorn de verificació

Windows
  • Finestres 11
Editor d'unitat
  • 2021.3.3f1
Paquet del sistema d'entrada
  • 1.3.0

Requisits previs per a aquest consell

La configuració següent s'ha fet amb antelació com a premissa per a la descripció d'aquest consell.

Sobre el material inclòs en la mostra

BGM es pren prestat del següent lloc.

Quant als fitxers d'àudio

Els següents formats de fitxer d'àudio es poden reproduir amb les característiques estàndard d'Unity: Si us plau, prepareu-lo amb antelació perquè s'utilitzarà en aquests consells.

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

Per obtenir més informació, consulteu la documentació oficial de la Unitat.

Quant a la reproducció de BGM

Hi ha diverses maneres de reproduir música de fons, però aquí volem explicar com reproduir-la d'una manera senzilla mentre s'utilitzen les funcions estàndard.

El contingut és organitzar un botó i reproduir, fer una pausa i aturar-se fent clic al botó. En un joc real, podeu implementar el mateix procés que no siguin botons.

Primer, col·loqueu un botó per reproduir BGM tal com es mostra a la figura.

Afegiu el fitxer d'àudio preparat deixant-lo anar al vostre projecte.

A continuació, afegiu "Font d'àudio" a la jerarquia.

Quan seleccioneu la font d'àudio que heu creat, el component Font d'àudio té un clip d'àudio, al qual deixeu anar un fitxer d'àudio del vostre projecte per configurar-lo.

Per cert, si comenceu el joc tal com és, el BGM que configureu es reproduirà de sobte. Això es deu al fet que l'opció "Juga a l'inici del joc" està marcada. Si voleu reproduir-lo immediatament al començament de l'escena, no hi ha cap problema tal com és, però aquesta vegada no es reproduirà immediatament, així que deixeu aquesta comprovació sense marcar.

A continuació, creeu un script. MusicPlayer Deixeu el nom com .

El guió té aquest aspecte:

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 s'establirà més endavant des de l'editor. Aquest AudioSource és el que té el fitxer d'àudio que acabeu d'inserir.

AudioSource, , i mètodes, perquè pugueu jugar, posar en pausa i PlayPauseStop aturar respectivament.

Podeu adjuntar l'script a la font d'àudio, però en aquest cas l'adjuntareu a l'EventSystem. Assegureu-vos que l'script estigui emplenat amb la font d'àudio que heu creat anteriorment.

Ara assigneu cada mètode a l'esdeveniment de clic dels tres botons.

Després de configurar-lo, executeu el joc i comproveu si es reprodueix la música de fons.

Jugar, posar en pausa i aturar són termes d'ús comú, de manera que no cal escriure'ls en detall, però crec que funcionen de la següent manera.

  • Quan fas clic al botó de reproducció, la música de fons només es reprodueix una vegada i es reprodueix fins al final.
  • Durant la reproducció, fes clic al botó de pausa per aturar el so que s'està reproduint
  • Quan feu clic al botó de reproducció mentre esteu en pausa, el so es reprodueix des de la posició aturada.
  • Fes clic al botó Aturar durant la reproducció per aturar el so que s'està reproduint
  • Feu clic al botó de reproducció mentre està aturat per reproduir-lo des del principi
  • Si feu clic al botó d'aturada durant la pausa, s'alliberarà la posició en pausa i la propera vegada que jugueu, serà des del principi.
  • Si feu clic al botó de reproducció durant la reproducció, el so que s'està reproduint s'aturarà i es reproduirà des del principi.

Reproducció en bucle

Reprodueix música de fons per defecte i s'atura automàticament quan es reprodueix fins al final. Si voleu enllaçar la música de fons i continuar reproduint-la, marqueu "Loop" al component Font d'àudio i es continuarà reproduint repetidament fins que premeu el botó d'aturada.

El contingut de la reproducció d'efectes de so és el mateix

Si ja heu vist els consells del costat de l'efecte de so, és possible que hàgiu notat que l'efecte de so i la música de fons es poden reproduir amb la mateixa configuració. Depenent del marc del joc, el processament d'efectes de so i música de fons pot estar separat, però Unity us permet jugar tots dos amb el mateix processament.

Sobre el fenomen que la música de fons s'atura quan es desactiva la finestra

Per defecte, quan hi ha altres finestres actives i la pantalla del joc està desactivada, el joc en si es posa en pausa. Juntament amb això, també se suspèn la reproducció de la música de fons.

Per evitar-ho, podeu configurar-lo perquè s'executi en segon pla a la configuració del projecte de manera que la música de fons no s'interrompi.