Reproduzir, pausar, parar e repetir música de fundo

Página atualizada :
Data de criação de página :

Ambiente de verificação

Windows
  • Janelas 11
Unity Editor
  • 2021.3.3f1
Pacote do sistema de entrada
  • 1.3.0

Pré-requisitos para esta dica

As configurações a seguir foram feitas com antecedência como premissa para a descrição desta dica.

Sobre o material incluído na amostra

BGM é emprestado do seguinte site.

Sobre arquivos de áudio

Os seguintes formatos de arquivo de áudio podem ser reproduzidos com os recursos padrão do Unity: Por favor, prepare-o com antecedência, pois ele será usado nessas dicas.

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

Para obter mais informações, consulte a documentação oficial do Unity.

Sobre a reprodução de BGM

Existem várias maneiras de reproduzir música de fundo, mas aqui queremos explicar como reproduzi-la de forma simples ao usar os recursos padrão.

O conteúdo é organizar um botão e reproduzir, pausar e parar clicando no botão. Em um jogo real, você pode implementar o mesmo processo além dos botões.

Primeiro, coloque um botão para reproduzir BGM como mostrado na figura.

Adicione o arquivo de áudio preparado soltando-o em seu projeto.

Em seguida, adicione "Fonte de áudio" à hierarquia.

Quando você seleciona a fonte de áudio que você criou, o componente Fonte de áudio tem um clipe de áudio, no qual você solta um arquivo de áudio do seu projeto para configurá-lo.

By the way, se você começar o jogo como ele é, o BGM que você definir vai jogar de repente. Isso ocorre porque a opção "Jogar no início do jogo" está marcada. Se você quiser jogá-lo imediatamente no início da cena, não há problema como está, mas desta vez ele não será reproduzido imediatamente, então deixe esta verificação desmarcada.

Em seguida, crie um script. MusicPlayer Deixe o nome como .

O script tem a seguinte aparência:

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 será definido posteriormente pelo editor. Este AudioSource é aquele com o arquivo de áudio que você acabou de inserir.

AudioSource, e métodos, para que você possa reproduzir, pausar e PlayPauseStop parar, respectivamente.

Você pode anexar o script à fonte de áudio, mas, nesse caso, você o anexará ao EventSystem. Verifique se o script está preenchido com a fonte de áudio criada anteriormente.

Agora atribua cada método ao evento click dos três botões.

Após a configuração, execute o jogo e veja se a música de fundo é reproduzida.

Reproduzir, pausar e parar são termos comumente usados, então você não precisa escrevê-los em detalhes, mas acho que eles funcionam da seguinte maneira.

  • Quando você clica no botão play, a música de fundo é reproduzida apenas uma vez e tocada até o final.
  • Durante a reprodução, clique no botão de pausa para interromper a reprodução do som
  • Quando você clica no botão de reprodução enquanto pausado, o som é reproduzido a partir da posição parada.
  • Clique no botão parar durante a reprodução para interromper a reprodução do som
  • Clique no botão de reprodução enquanto estiver parado para jogar desde o início
  • Clicar no botão parar durante a pausa liberará a posição pausada e na próxima vez que você jogar, será desde o início.
  • Se você clicar no botão de reprodução durante a reprodução, o som em reprodução no momento será interrompido e reproduzido desde o início.

Reprodução de loop

Ele reproduz música de fundo por padrão e pára automaticamente quando é reproduzido até o final. Se você quiser fazer um loop da música de fundo e continuar reproduzindo, marque "Loop" no componente Fonte de áudio e ele continuará a ser reproduzido repetidamente até que você pressione o botão de parada.

O conteúdo da reprodução do efeito sonoro é o mesmo

Se você já viu as dicas sobre o lado do efeito sonoro, deve ter notado que o efeito sonoro e a música de fundo podem ser reproduzidos com as mesmas configurações. Dependendo da estrutura do jogo, o processamento de efeitos sonoros e música de fundo pode ser separado, mas Unity permite que você jogue ambos com o mesmo processamento.

Sobre o fenômeno de que a música de fundo pausa quando a janela é desativada

Por padrão, quando outras janelas estão ativas e a tela do jogo é desativada, o jogo em si é pausado. Junto com isso, a reprodução da música de fundo também está suspensa.

Para evitar isso, você pode configurá-lo para ser executado em segundo plano nas configurações do projeto para que a música de fundo não seja interrompida.