Aller au contenu principal

Capturable Sound Wave

Aperçu

Une onde sonore capturable est dérivée de l'onde sonore en streaming. Elle prend en charge la capture de données audio à partir de périphériques d'entrée comme un microphone et leur lecture, avec les mêmes capacités qu'une onde sonore importée (y compris le rembobinage, l'utilisation dans les SoundCues, etc). Vous pouvez même capturer et lire l'audio simultanément sans aucune limitation.

astuce

Pour la détection d'activité vocale (VAD), consultez cette page.

remarque

L'onde sonore capturable demande automatiquement les autorisations du microphone sur iOS et Android une fois la capture démarrée.

Utilisation de base

Création d'une onde sonore capturable

Vous devez d'abord créer une onde sonore capturable.

Create Capturable Sound Wave node

attention

Vous devez traiter l'onde sonore capturable comme une référence forte pour éviter une destruction prématurée (par exemple en l'assignant à une variable séparée dans Blueprints ou en utilisant UPROPERTY() en C++).

Obtenir les périphériques d'entrée disponibles

Pour utiliser cette fonctionnalité, vous devez d'abord obtenir tous les périphériques d'entrée audio disponibles qui peuvent être utilisés pour la capture.

Nœud Get Available Audio Input Devices

Démarrage et arrêt de la capture

Après avoir obtenu les périphériques disponibles, vous pouvez commencer à capturer les données audio du périphérique d'entrée et l'arrêter lorsque nécessaire.

Nœuds de démarrage et d'arrêt de capture

info

DeviceId est l'index du périphérique dans le tableau des périphériques disponibles obtenu à l'étape précédente. Pour utiliser le périphérique d'entrée audio par défaut, passez -1 dans Blueprints ou Audio::DefaultDeviceIndex en C++ (ce qui équivaut à INDEX_NONE), car parfois l'index zéro n'est pas le périphérique par défaut.

Vérification de l'état de capture

Vous pouvez vérifier si la sound wave capture actuellement l'audio :

Nœud Is Capturing

Fonctionnalités avancées

Activation et désactivation de la capture audio

Vous pouvez choisir de couper ou de rétablir la capture audio pour empêcher l'accumulation de données audio sans interrompre le processus de capture.

Toggle Mute nodes

Différences de version du moteur

UE 5.3 et plus récent : Le démarrage et l'arrêt de la capture ne causent plus de saccades, donc ToggleMute a le même effet que StartCapture/StopCapture. Il se peut que vous n'ayez pas besoin d'utiliser ToggleMute du tout pour l'optimisation des performances.

UE 5.2 et antérieur : Le démarrage de la capture via StartCapture peut causer de légères saccades. Dans ces versions, il est recommandé d'utiliser ToggleMute pour activer et désactiver fréquemment la capture. Vous devez d'abord démarrer la capture elle-même pendant un moment moins critique (comme un écran de chargement), puis utiliser mute/unmute pour contrôler quand les données audio sont réellement accumulées.

Optimisation des performances pour les versions antérieures du moteur

Si vous utilisez UE 5.2 ou antérieur et que vous souhaitez éliminer les légers gels, envisagez de démarrer la capture pendant un moment où ce gel pourrait être négligeable. Par exemple, vous pourriez démarrer la capture pendant l'écran de chargement de votre jeu, mettre en sourdine la sound wave capturable juste après, puis désactiver la sourdine de la sound wave capturable lorsque nécessaire pour capturer des données audio sans aucune saccade.

Exemple complet

Voici un exemple d'implémentation complet d'utilisation d'une sound wave capturable :

Un exemple d'utilisation d'une sound wave capturable