An AVAudioMixInputParameters object represents the parameters that should be applied to an audio track when it is added to a mix.


You use an instance AVAudioMixInputParameters to apply audio volume ramps for an input to an audio mix. Mix parameters are associated with audio tracks via the trackID property.

Audio volume is currently supported as a time-varying parameter. AVAudioMixInputParameters has a mutable subclass, AVMutableAudioMixInputParameters.

Before the first time at which a volume is set, a volume of 1.0 used; after the last time for which a volume has been set, the last volume is used. Within the time range of a volume ramp, the volume is interpolated between the start volume and end volume of the ramp. For example, setting the volume to 1.0 at time 0 and also setting a volume ramp from a volume of 0.5 to 0.2 with a timeRange of [4.0, 5.0] results in an audio volume parameters that hold the volume constant at 1.0 from 0.0 sec to 4.0 sec, then cause it to jump to 0.5 and descend to 0.2 from 4.0 sec to 9.0 sec, holding constant at 0.2 thereafter.

Given that this is an immutable variant of the object, you should not allocate and initialize a version of this class yourself. Other classes may return instances of this class.


Getting the Track ID

var trackID: CMPersistentTrackID

The ID of the audio track to which the parameters should be applied.

Getting an Audio Tap

var audioTapProcessor: MTAudioProcessingTap?

The audio processing tap associated with the track.

Getting the Time Pitch Algorithm Setting

var audioTimePitchAlgorithm: AVAudioTimePitchAlgorithm?

The processing algorithm used to manage audio pitch for scaled audio edits.

See Also


class AVAudioMix

An AVAudioMix object manages the input parameters for mixing audio tracks. It allows custom audio processing to be performed on audio tracks during playback or other operations.

protocol AVAudioMixing

The AVAudioMixing protocol defines properties applicable to the input bus of a mixer node.

protocol AVAudioStereoMixing

The AVAudioStereoMixing protocol defines stereo mixing properties used by mixers.

class AVAudioMixerNode

The AVAudioMixerNode class represents a node that mixes its inputs to a single output.

class AVAudioUnitReverb

The AVAudioUnitReverb class is an AVAudioUnitEffect subclass that implements a reverb effect.

class AVAudioUnitTimeEffect

The AVAudioUnitTimeEffect class is an AVAudioUnit subclass that processes audio in non-realtime.

class AVAudioUnitTimePitch

The AVAudioUnitTimePitch class is an AVAudioUnitTimeEffect subclass that provides good quality playback rate and pitch shifting independent of each other.

class AVAudioUnitVarispeed

The AVAudioUnitVarispeed class is an AVAudioUnitTimeEffect subclass that allows control of the playback rate.

class AVAudioUnitEffect

An AVAudioUnitEffect class that processes audio in real-time using AudioUnits of type: effect, music effect, panner, remote effect or remote music effect. These effects run in real-time and process some number of audio input samples to produce number of audio output samples. A delay unit is an example of an effect unit.

class AVAudioUnitDelay

The AVAudioUnitDelay class is an AVAudioUnitEffect subclass that implements a delay effect.

class AVAudioUnitDistortion

The AVAudioUnitDistortion class is an AVAudioUnitEffect subclass that implements a multi-stage distortion effect.

class AVAudioUnitEQ

The AVAudioUnitEQ class is an AVAudioUnitEffect subclass that implements a multi-band equalizer.

class AVAudioUnitEQFilterParameters

The AVAudioUnitEQFilterParameters class encapsulates the parameters used by an AVAudioUnitEQ instance.