Lire, mettre en pause ou arrêter un seul effet sonore

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

Les effets sonores sont empruntés aux sites suivants.

À 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.

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

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

A propos de la lecture d’effets sonores

Il existe plusieurs façons de lire des effets sonores, mais nous voulons ici vous guider à travers un moyen simple de les lire 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 l’effet sonore 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, l’effet sonore que vous définissez jouera soudainement. C’est parce que « Jouer au début du jeu » est coché. Il est peu probable que l’effet sonore soit joué soudainement, alors laissez cette vérification décochée.

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

Le script ressemble à ceci :

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 sera défini ultérieurement à partir de l’éditeur. Cette source audio est celle avec l’effet sonore défini précédemment.

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.

Une fois que vous avez terminé, lancez le jeu et voyez si les effets sonores jouent.

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, l’effet sonore n’est lu qu’une seule fois et joué 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.

Inconvénients de l’utilisation d’AudioSource seul

Il existe une solution de contournement, mais cette astuce présente les inconvénients suivants. Nous aborderons ces solutions dans un autre conseil.

Impossible de lire deux ou plusieurs sons identiques en même temps

Vous pouvez vérifier cela en appuyant plusieurs fois sur le bouton de lecture, mais le son précédent disparaît lorsque vous jouez un nouveau son. En parlant d’inconvénients, c’est un inconvénient, mais au contraire, si vous jouez le même son l’un sur l’autre, le volume sera très fort, c’est donc un avantage dans le sens où cela l’empêche. Cependant, le son précédent disparaîtra toujours, donc selon le type de son, il ne sera pas naturel.

Vous devez avoir autant de sources audio qu’il y a de types de sons à lire

Étant donné qu’un seul clip audio peut être défini dans une source audio, vous devez fournir une source audio car vous avez autant de sons que vous le souhaitez. Vous pouvez également préparer une seule source audio et modifier le clip audio lors de la lecture d’un son différent. Ce n’est pas naturel parce que le son précédent disparaît en raison du problème que deux ou plusieurs du même son écrit auparavant ne peuvent pas être joués en même temps.