Lire, mettre en pause, arrêter et mettre en boucle de la musique de fond

Page mise à jour :
Date de création de la page :

Environnement de vérification

Windows
  • Fenêtres 11
Éditeur Unity
  • 2021.3.3f1
Package système d’entrée
  • 1.3.0

Conditions préalables à cette astuce

Les paramètres suivants ont été définis à l’avance comme prémisse pour la description de cette astuce.

À propos du matériel inclus avec l’échantillon

BGM est emprunté au site suivant.

À propos des fichiers audio

Les formats de fichiers audio suivants peuvent être lus avec les fonctionnalités standard de Unity : Veuillez le préparer à l’avance car il sera utilisé dans ces conseils.

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

Pour plus d’informations, consultez la documentation officielle de Unity.

À propos de la lecture BGM

Il existe plusieurs façons de jouer de la musique de fond, mais nous voulons expliquer ici comment la jouer de manière simple tout en utilisant les fonctionnalités standard.

Le contenu consiste à organiser un bouton et à jouer, mettre en pause et arrêter en cliquant sur le bouton. Dans un jeu réel, vous pouvez implémenter le même processus autre que les boutons.

Tout d’abord, placez un bouton pour lire BGM comme indiqué dans la figure.

Ajoutez le fichier audio préparé en le déposant dans votre projet.

Ensuite, ajoutez « Source audio » à la hiérarchie.

Lorsque vous sélectionnez la source audio que vous avez créée, le composant Source audio possède un clip audio, dans lequel vous déposez un fichier audio de votre projet pour le configurer.

Soit dit en passant, si vous démarrez le jeu tel quel, le BGM que vous définissez jouera soudainement. C’est parce que « Jouer au début du jeu » est coché. Si vous voulez le jouer immédiatement au début de la scène, il n’y a pas de problème en l’état, mais cette fois, il ne sera pas lu immédiatement, alors laissez cette vérification décochée.

Ensuite, créez un script. MusicPlayer Conservez le nom .

Le script ressemble à ceci :

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 sera défini ultérieurement à partir de l’éditeur. Cette source audio est celle avec le fichier audio que vous venez d’insérer.

AudioSource, et méthodes, de sorte que vous pouvez jouer, mettre en pause et PlayPauseStop arrêter respectivement.

Vous pouvez attacher le script à la source audio, mais dans ce cas, vous l’attacherez à l’EventSystem. Assurez-vous que votre script est rempli avec la source audio que vous avez créée précédemment.

Attribuez maintenant chaque méthode à l’événement click des trois boutons.

Après la configuration, lancez le jeu et voyez si la musique de fond joue.

Play, pause et stop sont des termes couramment utilisés, vous n’avez donc pas besoin de les écrire en détail, mais je pense qu’ils fonctionnent comme suit.

  • Lorsque vous cliquez sur le bouton de lecture, la musique de fond n’est lue qu’une seule fois et jouée jusqu’à la fin.
  • Pendant la lecture, cliquez sur le bouton pause pour arrêter la lecture du son
  • Lorsque vous cliquez sur le bouton de lecture en pause, le son est lu à partir de la position arrêtée.
  • Cliquez sur le bouton d’arrêt pendant la lecture pour arrêter la lecture du son
  • Cliquez sur le bouton de lecture lorsque vous êtes arrêté pour jouer depuis le début
  • Cliquer sur le bouton d’arrêt pendant la pause relâchera la position en pause et la prochaine fois que vous jouerez, ce sera depuis le début.
  • Si vous cliquez sur le bouton de lecture pendant la lecture, le son en cours de lecture est arrêté et lu depuis le début.

Lecture en boucle

Il lit la musique de fond par défaut et s’arrête automatiquement lorsqu’elle est jouée jusqu’à la fin. Si vous souhaitez mettre en boucle la musique de fond et continuer à jouer, cochez « Boucle » dans le composant Source audio et la lecture continuera à plusieurs reprises jusqu’à ce que vous appuyiez sur le bouton d’arrêt.

Le contenu de la lecture de l’effet sonore est le même

Si vous avez déjà vu les conseils du côté des effets sonores, vous avez peut-être remarqué que l’effet sonore et la musique de fond peuvent être joués avec les mêmes paramètres. Selon le cadre du jeu, le traitement des effets sonores et de la musique de fond peut être séparé, mais Unity vous permet de jouer aux deux avec le même traitement.

À propos du phénomène selon lequel la musique de fond s’interrompt lorsque la fenêtre est désactivée

Par défaut, lorsque d’autres fenêtres sont actives et que l’écran de jeu est désactivé, le jeu lui-même est mis en pause. Parallèlement à cela, la lecture de la musique de fond est également suspendue.

Pour éviter cela, vous pouvez le configurer pour qu’il s’exécute en arrière-plan dans les paramètres de votre projet afin que la musique de fond ne soit pas interrompue.