Tampons audio


Vous pouvez utiliser des tampons audio pour charger, enregistrer et manipuler des fichiers audio dans vos jeux. Ces tampons sont créés au préalable à l'aide des fonctions de tampons appropriées, puis vous pouvez utiliser les fonctions suivantes pour créer un son à utiliser dans votre projet:

  1. audio_create_buffer_sound
  2. audio_free_buffer_sound

Notez qu'une fois que vous avez créé un son à partir d'un tampon audio, vous ne créez pas un nouveau son en mémoire, mais vous pointez plutôt sur la position dans le tampon où le son est stocké. Vous ne devriez pas changer ce tampon après qu'un son lui ait été associé, sinon vous obtiendrez des résultats inattendus, et vous ne pouvez pas supprimer le tampon tant qu'un son est associé. Au lieu de cela, libérez d'abord le son (ou les sons) puis supprimez le tampon. Une fois que vous avez créé votre nouvelle ressource audio à partir d'un tampon, vous pouvez utiliser sa valeur d'index dans l'une des fonctions audio habituelles pour la lire, changer son gain ou sa hauteur, la mettre en pause, etc. Notez que le tampon utilisé pour charger L'audio ne peut prendre en charge que les sons PCM, donc les formats comme OGG ne seront pas supportés.

Une autre caractéristique de l'audio mis en mémoire tampon est que vous pouvez utiliser un tampon pour créer une file d'attente audio qui peut ensuite être diffusée sur l'appareil qui exécute votre projet. Une file d'attente audio prend un tampon régulier que vous avez précédemment rempli avec des données audio, et vous permet de "pointer" sur certaines parties de celle-ci et dire à GameMaker Studio 2: Studio de diffuser l'audio dans un ordre donné à partir de ce tampon. Les fonctions disponibles pour les files d'attente audio sont:

  1. audio_create_play_queue
  2. audio_free_play_queue
  3. audio_queue_sound

Une fois qu'une file d'attente a été créée, vous pouvez utiliser l'index de file d'attente retourné comme vous le feriez pour un son normal, le mettre en pause, le redémarrer ou en changer le gain et la hauteur. La seule chose que vous ne pouvez pas faire est d'obtenir la longueur de la piste ou de définir la position de la piste, mais à part cela, une file d'attente audio peut être utilisée comme n'importe quel autre son. Vous devez également noter que certaines fonctions de la file d'attente audio déclenchent également un événement asynchrone de lecture audio.

Les tampons audio vous permettront également d'enregistrer du son à partir de n'importe quelle source disponible (comme les microphones ou le système d'exploitation), qui peut ensuite être mise en file d'attente et diffusée en utilisant les fonctions ci-dessus (par exemple). L'enregistrement audio déclenchera un événement asynchrone d'enregistrement audio qui contiendra des informations spécifiques sur ce qui est en train d'être enregistré.

Pour l'enregistrement audio, les fonctions suivantes sont disponibles:

  1. audio_start_recording
  2. audio_stop_recording
  3. audio_get_recorder_count
  4. audio_get_recorder_info
REMARQUE: La plupart des plates-formes prennent en charge l'enregistrement audio sous une forme ou une autre, mais cela ne signifie pas que tous les périphériques le permettent, même si la plate-forme le fait, vous devez donc toujours vérifier que audio_get_recorder_count() La fonction renvoie une valeur supérieure à 0 pour vérifier que les périphériques d'enregistrement sont disponibles avant d'utiliser le reste des fonctions d'enregistrement.