Reproduce, pausa, detiene y reproduce música de fondo en bucle
Entorno de verificación
- Windows
-
- Ventanas 11
- Unity Editor
-
- 2021.3.3F1
- Paquete del sistema de entrada
-
- 1.3.0
Requisitos previos para esta sugerencia
Los siguientes ajustes se han realizado de antemano como premisa para la descripción de este consejo.
Sobre el material incluido con la muestra
BGM se toma prestado del siguiente sitio.
Acerca de los archivos de audio
Los siguientes formatos de archivo de audio se pueden reproducir con las funciones estándar de Unity: Por favor, prepárelo con anticipación porque se utilizará en estos consejos.
- OggVorbis (.ogg)
- MPEG capa 3 (.mp3)
Para obtener más información, consulta la documentación oficial de Unity.
Acerca de la reproducción BGM
Hay varias formas de reproducir música de fondo, pero aquí queremos explicar cómo reproducirla de una manera sencilla mientras se utilizan las funciones estándar.
El contenido es organizar un botón y reproducir, pausar y detener haciendo clic en el botón. En un juego real, puedes implementar el mismo proceso que no sean botones.
Primero, coloque un botón para reproducir BGM como se muestra en la figura.
Agregue el archivo de audio preparado soltándolo en su proyecto.
A continuación, agregue "Fuente de audio" a la jerarquía.
Al seleccionar la fuente de audio que ha creado, el componente Fuente de audio tiene un clip de audio, en el que se coloca un archivo de audio del proyecto para configurarlo.
Por cierto, si comienzas el juego tal como está, el BGM que configuraste se reproducirá de repente. Esto se debe a que la opción "Jugar al inicio del juego" está marcada. Si desea reproducirlo inmediatamente al comienzo de la escena, no hay problema tal como está, pero esta vez no se reproducirá de inmediato, así que deje esta verificación sin marcar.
A continuación, cree un script. MusicPlayer
Deje el nombre como .
El script tiene este aspecto:
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
se establecerá más tarde desde el editor. Este AudioSource es el que tiene el archivo de audio que acaba de insertar.
AudioSource
, , y métodos, para que pueda reproducir, pausar y Play
Pause
Stop
detener, respectivamente.
Puede adjuntar el script a la fuente de audio, pero en este caso lo adjuntará al EventSystem. Asegúrese de que el script se rellene con la fuente de audio que creó anteriormente.
Ahora asigne cada método al evento de clic de los tres botones.
Después de la configuración, ejecute el juego y vea si se reproduce la música de fondo.
Play, pause y stop son términos de uso común, por lo que no es necesario escribirlos en detalle, pero creo que funcionan de la siguiente manera.
- Al hacer clic en el botón de reproducción, la música de fondo se reproduce solo una vez y se reproduce hasta el final.
- Durante la reproducción, haga clic en el botón de pausa para detener la reproducción del sonido
- Al hacer clic en el botón de reproducción mientras está en pausa, el sonido se reproduce desde la posición detenida.
- Haga clic en el botón Detener durante la reproducción para detener la reproducción del sonido
- Haga clic en el botón de reproducción mientras está detenido para jugar desde el principio
- Al hacer clic en el botón de parada durante la pausa, se liberará la posición en pausa y la próxima vez que juegues, será desde el principio.
- Si hace clic en el botón de reproducción durante la reproducción, el sonido que se está reproduciendo actualmente se detiene y se reproduce desde el principio.
Reproducción en bucle
Reproduce música de fondo de forma predeterminada y se detiene automáticamente cuando se reproduce hasta el final. Si desea reproducir la música de fondo y continuar reproduciendo, marque "Bucle" en el componente Fuente de audio y continuará reproduciéndose repetidamente hasta que presione el botón de parada.
El contenido de la reproducción del efecto de sonido es el mismo
Si ya ha visto los consejos en el lado del efecto de sonido, es posible que haya notado que el efecto de sonido y la música de fondo se pueden reproducir con la misma configuración. Dependiendo del marco del juego, el procesamiento de los efectos de sonido y la música de fondo puede estar separado, pero Unity te permite jugar ambos con el mismo procesamiento.
Sobre el fenómeno de que la música de fondo se detiene cuando se desactiva la ventana
De forma predeterminada, cuando otras ventanas están activas y la pantalla del juego está desactivada, el juego en sí está en pausa. Junto con esto, la reproducción de la música de fondo también se suspende.
Para evitar esto, puede configurarlo para que se ejecute en segundo plano en la configuración del proyecto para que la música de fondo no se interrumpa.