1

Les objets AVAudioEngine et AVAudioNode associés semblent être assez puissants pour le traitement audio, mais il est difficile de voir comment automatiser les changements de paramètres avec eux. Je suis sûr qu'il doit y avoir quelque chose de plus efficace que d'utiliser manuellement un pour changer les valeurs, comme un exemple brut.Comment utiliser AVAudioPlayerNode avec AVMutableComposition

AVMutableAudioMixInputParameters comprend une méthode setVolumeRampFromStartVolume:toEndVolume:timeRange: mais je ne vois pas comment je pourrais intégrer cela avec AVAudioPlayerNode (liée à AVAudioEffectNodes) et utiliser cette méthode pour effacer le volume au fil du temps. Au lieu de cela, j'ai seulement vu des exemples de AVMutableAudioMixInputParameters fonctionnant avec des instances AVMutableComposition et aucun d'entre eux n'inclut des objets AVAudioNode. Est-ce que quelqu'un peut poster ou lier à certains exemples de code qui combinent l'utilisation de AVAudioNodes avec setVolumeRampFromStartVolume:toEndVolume:timeRange: ou expliquer les meilleures pratiques pour automatiser les changements de paramètres sur un nœud au fil du temps?

Un grand merci

Répondre

2

Le AVAudioEngine est un moteur en temps réel, mais AVMutableComposition semble être un objet en temps non réel. Donc incompatible. Une alternative consiste à créer et à insérer votre propre nœud AUAudioUnit en temps réel.

+0

Étant donné qu'il est difficile de trouver une autre solution que de créer ma propre unité audio de fader, cela peut être la meilleure réponse. Cela semble être une omission flagrante dans l'API AVAudioEngine de ne pas être en mesure de changer progressivement un paramètre au fil du temps en utilisant les unités intégrées quand il semble presque supporté par les 'schedParameterBlock',' flag_CanRamp' etc. Suis-je la seule personne qui se sent de cette façon. Cela dit, je vais augmenter votre réponse avec l'espoir qu'il existe une meilleure solution. –