Riprodurre, mettere in pausa o interrompere un singolo effetto sonoro

Pagina aggiornata :
Data di creazione della pagina :

Ambiente di verifica

Finestre
  • Windows 11
Unity Editor
  • 2021.3.3f1
Pacchetto del sistema di input
  • 1.3.0

Prerequisiti per questo suggerimento

Le seguenti impostazioni sono state effettuate in anticipo come premessa per la descrizione di questo suggerimento.

Informazioni sul materiale incluso nell'esempio

Gli effetti sonori sono presi in prestito dai seguenti siti.

Informazioni sui file audio

I seguenti formati di file audio possono essere riprodotti con le funzionalità standard di Unity: Si prega di prepararlo in anticipo perché verrà utilizzato in questi suggerimenti.

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

Per ulteriori informazioni, consulta la documentazione ufficiale di Unity.

Informazioni sulla riproduzione di effetti sonori

Esistono diversi modi per riprodurre effetti sonori, ma qui vogliamo guidarti attraverso un modo semplice per riprodurli mentre usi le funzionalità standard.

Il contenuto è quello di disporre un pulsante e riprodurre, mettere in pausa e interrompere facendo clic sul pulsante. In un gioco reale, puoi implementare lo stesso processo diverso dai pulsanti.

Innanzitutto, posizionate un pulsante per riprodurre l'effetto sonoro come mostrato nella figura.

Aggiungi il file audio preparato rilasciandolo nel tuo progetto.

Quindi, aggiungi "Sorgente audio" alla gerarchia.

Quando si seleziona la sorgente audio creata, il componente Sorgente audio dispone di una clip audio, in cui è possibile rilasciare un file audio dal progetto per configurarlo.

A proposito, se inizi il gioco così com'è, l'effetto sonoro che hai impostato verrà improvvisamente riprodotto. Questo perché "Gioca all'inizio del gioco" è selezionato. È improbabile che l'effetto sonoro venga riprodotto improvvisamente, quindi lascia questo controllo deselezionato.

Quindi, creare uno script. SoundPlayer Lasciare il nome come .

Lo script è simile al seguente:

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 verrà impostato in seguito dall'editor. Questo AudioSource è quello con l'effetto sonoro impostato in precedenza.

AudioSource, e metodi, in modo da poter riprodurre, mettere in pausa e PlayPauseStop interrompere rispettivamente.

È possibile collegare lo script all'origine audio, ma in questo caso lo si collegherà all'EventSystem. Assicurati che lo script sia popolato con l'origine audio creata in precedenza.

Ora assegna ciascun metodo all'evento click dei tre pulsanti.

Una volta terminato, esegui il gioco e vedi se gli effetti sonori vengono riprodotti.

Play, pausa e stop sono termini comunemente usati, quindi non è necessario scriverli in dettaglio, ma penso che funzionino come segue.

  • Quando si fa clic sul pulsante di riproduzione, l'effetto sonoro viene riprodotto una sola volta e riprodotto fino alla fine.
  • Durante la riproduzione, fai clic sul pulsante di pausa per interrompere la riproduzione del suono
  • Quando si fa clic sul pulsante di riproduzione mentre si è in pausa, il suono viene riprodotto dalla posizione di arresto.
  • Fare clic sul pulsante di arresto durante la riproduzione per interrompere la riproduzione del suono
  • Fai clic sul pulsante di riproduzione mentre sei fermato per giocare dall'inizio
  • Facendo clic sul pulsante di arresto durante la pausa verrà rilasciata la posizione in pausa e la prossima volta che si gioca, sarà dall'inizio.
  • Se si fa clic sul pulsante di riproduzione durante la riproduzione, il suono attualmente in riproduzione viene interrotto e riprodotto dall'inizio.

Svantaggi dell'utilizzo di AudioSource da solo

C'è una soluzione alternativa, ma questo Suggerimenti presenta i seguenti svantaggi. Tratteremo queste soluzioni in un altro suggerimento.

Impossibile riprodurre due o più suoni contemporaneamente

Puoi verificarlo premendo più volte il pulsante di riproduzione, ma il suono precedente scompare quando riproduci un nuovo suono. Parlando di svantaggi, è uno svantaggio, ma al contrario, se si riproduce lo stesso suono uno sopra l'altro, il volume sarà molto alto, quindi è un vantaggio nel senso che lo impedisce. Tuttavia, il suono precedente scomparirà ancora, quindi a seconda del tipo di suono, sarà innaturale.

È necessario disporre di tanti AudioSource quanti sono i tipi di suoni da riprodurre

Poiché è possibile impostare una sola clip audio in un AudioSource, è necessario fornire un AudioSource in quanto si dispone di tutti i suoni desiderati. È inoltre possibile preparare un solo AudioSource e modificare la clip audio durante la riproduzione di un suono diverso. È innaturale perché il suono precedente scompare a causa del problema che due o più dello stesso suono scritto prima non possono essere riprodotti contemporaneamente.