Reproduir, posar en pausa o aturar un sol efecte de so

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

Els efectes de so es prenen prestats dels llocs següents.

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.

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

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

Sobre la reproducció d'efectes de so

Hi ha diverses maneres de reproduir efectes de so, però aquí volem guiar-vos per una manera senzilla de reproduir-los mentre utilitzeu 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 l'efecte de so tal com es mostra a la figura.

Afegiu el fitxer de so 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, l'efecte de so que configureu es reproduirà de sobte. Això es deu al fet que l'opció "Juga a l'inici del joc" està marcada. És poc probable que l'efecte sonor es reprodueixi de sobte, així que deixeu aquesta comprovació sense marcar.

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

El guió té aquest aspecte:

using UnityEngine;

public class SoundPlayer : 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é l'efecte de so establert anteriorment.

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.

Un cop hàgiu acabat, executeu el joc i comproveu si es reprodueixen els efectes de so.

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 feu clic al botó de reproducció, l'efecte de so 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.

Desavantatges d'utilitzar AudioSource sol

Hi ha una solució, però aquest Consells té els següents desavantatges. Tractarem aquestes solucions en un altre consell.

No es poden reproduir dos o més del mateix so alhora

Podeu comprovar-ho prement el botó de reproducció diverses vegades, però el so anterior desapareix quan reproduïu un so nou. Parlant de desavantatges, és un desavantatge, però, per contra, si reproduïu el mateix so els uns sobre els altres, el volum serà molt fort, de manera que és un avantatge en el sentit que ho impedeix. Tot i això, el so anterior encara desapareixerà, de manera que segons el tipus de so, serà antinatural.

Heu de tenir tantes fonts d'àudio com tipus de sons per reproduir

Com que només es pot configurar un clip d'àudio en una font d'àudio, heu de proporcionar una font d'àudio, ja que teniu tants sons com vulgueu. També podeu preparar només una font d'àudio i canviar el clip d'àudio quan reproduïu un so diferent. No és natural perquè el so anterior desapareix a causa del problema que dos o més del mateix so escrit abans no es poden reproduir alhora.