-
Améliorez les capacités d’enregistrement audio de votre app
Découvrez comment améliorer la fonctionnalité d'enregistrement audio de votre app. Découvrez toute la flexibilité de la sélection d'appareils audio à l'aide de l'interaction du sélecteur d'entrée sur iOS et iPadOS 26. Découvrez les API permettant l'enregistrement vocal de haute qualité avec les AirPods. Nous introduirons également des fonctionnalités d'enregistrement et d'édition audio spatial qui vous permettent d'isoler la parole et les sons ambiants en arrière-plan, le tout à l'aide des frameworks AudioToolbox, AVFoundation et Cinematic.
Chapitres
- 0:00 - Introduction
- 1:02 - Sélection de l’itinéraire d’entrée
- 3:06 - Enregistrement avec des AirPods
- 5:11 - Capture en Audio spatial
- 11:04 - Audio Mix
Ressources
- TN3177: Understanding alternate audio track groups in movie files
- Capturing Spatial Audio in your iOS app
- Editing Spatial Audio with an audio mix
- Cinematic
- AVFoundation
Vidéos connexes
WWDC25
-
Rechercher dans cette vidéo…
-
-
2:10 - Input route selection
import AVKit class AppViewController { // Configure AudioSession // AVInputPickerInteraction is a NSObject subclass that presents an input picker let inputPickerInteraction = AVInputPickerInteraction() inputPickerInteraction.delegate = self // connect the PickerInteraction to a UI element for displaying the picker @IBOutlet weak var selectMicButton: UIButton! self.selectMicButton.addInteraction(self.inputPickerInteraction) // button press callback: present input picker UI @IBAction func handleSelectMicButton(_ sender: UIButton) { inputPickerInteraction.present() } } -
3:57 - AirPods high quality recording
// AVAudioSession clients opt-in - session category option AVAudioSessionCategoryOptions.bluetoothHighQualityRecording // AVCaptureSession clients opt-in - captureSession property session.configuresApplicationAudioSessionForBluetoothHighQualityRecording = true -
13:26 - Audio Mix with AVPlayer
import Cinematic // Audio Mix parameters (consider using UI elements to change these values) var intensity: Float32 = 0.5 // values between 0.0 and 1.0 var style = CNSpatialAudioRenderingStyle.cinematic // Initializes an instance of CNAssetAudioInfo for an AVAsset asynchronously let audioInfo = try await CNAssetSpatialAudioInfo(asset: myAVAsset) // Returns an AVAudioMix with effect intensity and rendering style. let newAudioMix: AVAudioMix = audioInfo.audioMix(effectIntensity: intensity, renderingStyle: style) // Set the new AVAudioMix on your AVPlayerItem myAVPlayerItem.audioMix = newAudioMix -
16:45 - Get remix metadata from input file
// Get Spatial Audio remix metadata from input AVAsset let audioInfo = try await CNAssetSpatialAudioInfo(asset: myAVAsset) // extract the remix metadata. Set on AUAudioMix with AudioUnitSetProperty() let remixMetadata = audioInfo.spatialAudioMixMetadata as CFData
-
-
- 0:00 - Introduction
iOS 26 intègre des mises à jour d’API pour améliorer l’enregistrement audio des apps, notamment la sélection des appareils d’entrée, l’enregistrement haute qualité avec les AirPods, la capture audio spatiale, le traitement audio et la fonctionnalité Audio Mix pendant la lecture audio spatiale.
- 1:02 - Sélection de l’itinéraire d’entrée
AVKit inclut une nouvelle API, « AVInputPickerInteraction », qui améliore la gestion des entrées audio pour les créateurs de contenu utilisant plusieurs appareils. « AVInputPickerInteraction » permet aux apps d’afficher un menu de sélection des entrées en direct avec mesure du niveau sonore et sélection du mode microphone, ce qui vous permet de changer de source audio directement dans l’app sans avoir à naviguer dans les réglages système. La pile audio mémorise l’appareil sélectionné pour une utilisation ultérieure.
- 3:06 - Enregistrement avec des AirPods
À partir d’iOS 26, les AirPods offrent une qualité sonore similaire à celle d’un micro-cravate grâce à un nouveau mode de réglage multimédia qui vous permet d’utiliser les AirPods comme outil d’enregistrement. Les apps peuvent facilement activer cette fonctionnalité d’enregistrement Bluetooth haute qualité via « AVAudioSession » ou « AVCaptureSession ». Elles offrent ainsi une solution fiable et pratique de haute qualité avec des commandes intégrées permettant de démarrer et d’arrêter facilement l’enregistrement.
- 5:11 - Capture en Audio spatial
iOS 26 apporte plusieurs mises à jour aux fonctionnalités d’enregistrement audio spatial. La capture en audio spatial permet désormais aux apps utilisant « AVAssetWriter » d’enregistrer au format First Order Ambisonics (FOA). Le format FOA utilise quatre composants harmoniques sphériques pour capturer une scène audio en 3D, ce qui permet une lecture immersive de l’audio spatial avec des fonctionnalités telles que le suivi des mouvements de la tête sur les AirPods. De nouvelles API vous permettent de régler la balance entre les sons au premier plan et en arrière-plan à l’aide de l’effet Audio Mix et d’enregistrer des données audio uniquement au format audio QuickTime (.qta). Une ressource en audio spatial correctement formatée comprend deux pistes audio : une piste stéréo au format AAC pour la compatibilité et une piste en audio spatial dans le nouveau format Apple Positional Audio Codec (ou APAC). De plus, elle contient au moins une piste de métadonnées contenant des informations essentielles à la lecture. iOS 26 permet également le fonctionnement simultané de « MovieFileOutput » et « AudioDataOutput », ce qui permet le traitement audio en temps réel et la visualisation pendant l’enregistrement dans un fichier.
- 11:04 - Audio Mix
Dans iOS et macOS 26, le framework Cinematic intègre de nouvelles commandes Audio Mix pour les vidéos en audio spatial. Cette fonctionnalité, similaire à la fonctionnalité d’édition de l’app Photos, vous permet d’ajuster la balance entre les sons au premier plan, tels que la parole, et les bruits ambiants en arrière-plan. Le framework propose différents modes de mixage, notamment Cinematic, Studio et In-Frame, ainsi que six modes supplémentaires qui extraient séparément la voix et l’ambiance. Vous pouvez utiliser ces commandes dans l’interface utilisateur afin d’ajuster l’intensité de l’effet et le style de rendu en temps réel. La nouvelle AudioUnit appelée AUAudioMix permet des flux de travail plus spécifiques et personnalisés pour les apps qui n’utilisent pas AVPlayer. Elle sépare la parole et l’ambiance et vous permet d’effectuer le rendu vers différentes sorties, telles que des écouteurs, des haut-parleurs ou des systèmes de son surround. Le framework comprend également « SpatialAudioMixMetadata », qui règle automatiquement les composants de dialogue et d’ambiance pendant la lecture. Un nouvel exemple de projet d’outil en ligne de commande, SpatialAudioCLI, est disponible pour le traitement de l’audio spatial. Téléchargez-le pour commencer à utiliser l’audio spatial.