AudioEffectChain
An ordered chain of AudioEffect instances that are applied sequentially to an audio stream.
Effects in the chain are processed in the order they were added: audio flows through the first effect, then the second, and so on. The chain can be attached to an AudioStream via its effectChain property, and effects can be added or removed at any time (hot-swapped) without stopping the stream.
Create an AudioEffectChain through AudioEngine.createEffectChain.
Example usage:
val engine = AudioEngine.create()
val chain = engine.createEffectChain()
// Create and configure effects
val eq = engine.createEffect(AudioEffectType.PARAMETRIC_EQ)
val compressor = engine.createEffect(AudioEffectType.COMPRESSOR)
val reverb = engine.createEffect(AudioEffectType.REVERB)
// Add effects in processing order: EQ -> Compressor -> Reverb
chain.add(eq)
chain.add(compressor)
chain.add(reverb)
// Attach the chain to a stream
stream.effectChain = chain
// Hot-swap: remove an effect while the stream is running
chain.remove(reverb)
// Apply multiple parameter changes atomically
chain.applyBatch(listOf(
ParameterChange(compressor, CompressorParams.THRESHOLD, -12f),
ParameterChange(compressor, CompressorParams.RATIO, 6f),
))
// Release all resources when done
chain.release()See also
An ordered chain of AudioEffect instances that are applied sequentially to an audio stream.
Effects in the chain are processed in the order they were added: audio flows through the first effect, then the second, and so on. The chain can be attached to an AudioStream via its effectChain property, and effects can be added or removed at any time (hot-swapped) without stopping the stream.
Create an AudioEffectChain through AudioEngine.createEffectChain.
Example usage:
val engine = AudioEngine.create()
val chain = engine.createEffectChain()
// Create and configure effects
val eq = engine.createEffect(AudioEffectType.PARAMETRIC_EQ)
val compressor = engine.createEffect(AudioEffectType.COMPRESSOR)
val reverb = engine.createEffect(AudioEffectType.REVERB)
// Add effects in processing order: EQ -> Compressor -> Reverb
chain.add(eq)
chain.add(compressor)
chain.add(reverb)
// Attach the chain to a stream
stream.effectChain = chain
// Hot-swap: remove an effect while the stream is running
chain.remove(reverb)
// Apply multiple parameter changes atomically
chain.applyBatch(listOf(
ParameterChange(compressor, CompressorParams.THRESHOLD, -12f),
ParameterChange(compressor, CompressorParams.RATIO, 6f),
))
// Release all resources when done
chain.release()See also
An ordered chain of AudioEffect instances that are applied sequentially to an audio stream.
Effects in the chain are processed in the order they were added: audio flows through the first effect, then the second, and so on. The chain can be attached to an AudioStream via its effectChain property, and effects can be added or removed at any time (hot-swapped) without stopping the stream.
Create an AudioEffectChain through AudioEngine.createEffectChain.
Example usage:
val engine = AudioEngine.create()
val chain = engine.createEffectChain()
// Create and configure effects
val eq = engine.createEffect(AudioEffectType.PARAMETRIC_EQ)
val compressor = engine.createEffect(AudioEffectType.COMPRESSOR)
val reverb = engine.createEffect(AudioEffectType.REVERB)
// Add effects in processing order: EQ -> Compressor -> Reverb
chain.add(eq)
chain.add(compressor)
chain.add(reverb)
// Attach the chain to a stream
stream.effectChain = chain
// Hot-swap: remove an effect while the stream is running
chain.remove(reverb)
// Apply multiple parameter changes atomically
chain.applyBatch(listOf(
ParameterChange(compressor, CompressorParams.THRESHOLD, -12f),
ParameterChange(compressor, CompressorParams.RATIO, 6f),
))
// Release all resources when done
chain.release()See also
An ordered chain of AudioEffect instances that are applied sequentially to an audio stream.
Effects in the chain are processed in the order they were added: audio flows through the first effect, then the second, and so on. The chain can be attached to an AudioStream via its effectChain property, and effects can be added or removed at any time (hot-swapped) without stopping the stream.
Create an AudioEffectChain through AudioEngine.createEffectChain.
Example usage:
val engine = AudioEngine.create()
val chain = engine.createEffectChain()
// Create and configure effects
val eq = engine.createEffect(AudioEffectType.PARAMETRIC_EQ)
val compressor = engine.createEffect(AudioEffectType.COMPRESSOR)
val reverb = engine.createEffect(AudioEffectType.REVERB)
// Add effects in processing order: EQ -> Compressor -> Reverb
chain.add(eq)
chain.add(compressor)
chain.add(reverb)
// Attach the chain to a stream
stream.effectChain = chain
// Hot-swap: remove an effect while the stream is running
chain.remove(reverb)
// Apply multiple parameter changes atomically
chain.applyBatch(listOf(
ParameterChange(compressor, CompressorParams.THRESHOLD, -12f),
ParameterChange(compressor, CompressorParams.RATIO, 6f),
))
// Release all resources when done
chain.release()See also
An ordered chain of AudioEffect instances that are applied sequentially to an audio stream.
Effects in the chain are processed in the order they were added: audio flows through the first effect, then the second, and so on. The chain can be attached to an AudioStream via its effectChain property, and effects can be added or removed at any time (hot-swapped) without stopping the stream.
Create an AudioEffectChain through AudioEngine.createEffectChain.
Example usage:
val engine = AudioEngine.create()
val chain = engine.createEffectChain()
// Create and configure effects
val eq = engine.createEffect(AudioEffectType.PARAMETRIC_EQ)
val compressor = engine.createEffect(AudioEffectType.COMPRESSOR)
val reverb = engine.createEffect(AudioEffectType.REVERB)
// Add effects in processing order: EQ -> Compressor -> Reverb
chain.add(eq)
chain.add(compressor)
chain.add(reverb)
// Attach the chain to a stream
stream.effectChain = chain
// Hot-swap: remove an effect while the stream is running
chain.remove(reverb)
// Apply multiple parameter changes atomically
chain.applyBatch(listOf(
ParameterChange(compressor, CompressorParams.THRESHOLD, -12f),
ParameterChange(compressor, CompressorParams.RATIO, 6f),
))
// Release all resources when done
chain.release()See also
An ordered chain of AudioEffect instances that are applied sequentially to an audio stream.
Effects in the chain are processed in the order they were added: audio flows through the first effect, then the second, and so on. The chain can be attached to an AudioStream via its effectChain property, and effects can be added or removed at any time (hot-swapped) without stopping the stream.
Create an AudioEffectChain through AudioEngine.createEffectChain.
Example usage:
val engine = AudioEngine.create()
val chain = engine.createEffectChain()
// Create and configure effects
val eq = engine.createEffect(AudioEffectType.PARAMETRIC_EQ)
val compressor = engine.createEffect(AudioEffectType.COMPRESSOR)
val reverb = engine.createEffect(AudioEffectType.REVERB)
// Add effects in processing order: EQ -> Compressor -> Reverb
chain.add(eq)
chain.add(compressor)
chain.add(reverb)
// Attach the chain to a stream
stream.effectChain = chain
// Hot-swap: remove an effect while the stream is running
chain.remove(reverb)
// Apply multiple parameter changes atomically
chain.applyBatch(listOf(
ParameterChange(compressor, CompressorParams.THRESHOLD, -12f),
ParameterChange(compressor, CompressorParams.RATIO, 6f),
))
// Release all resources when done
chain.release()See also
Properties
The number of effects currently in this chain.
The number of effects currently in this chain.
The number of effects currently in this chain.
The number of effects currently in this chain.
The number of effects currently in this chain.
The number of effects currently in this chain.
Functions
Appends an effect to the end of this chain.
Appends an effect to the end of this chain.
Appends an effect to the end of this chain.
Appends an effect to the end of this chain.
Appends an effect to the end of this chain.
Appends an effect to the end of this chain.
Applies multiple parameter changes atomically in a single batch.
Applies multiple parameter changes atomically in a single batch.
Applies multiple parameter changes atomically in a single batch.
Applies multiple parameter changes atomically in a single batch.
Applies multiple parameter changes atomically in a single batch.
Applies multiple parameter changes atomically in a single batch.
Removes all effects from this chain.
Removes all effects from this chain.
Removes all effects from this chain.
Removes all effects from this chain.
Removes all effects from this chain.
Removes all effects from this chain.
Releases the native resources associated with this chain.
Releases the native resources associated with this chain.
Releases the native resources associated with this chain.
Releases the native resources associated with this chain.
Releases the native resources associated with this chain.
Releases the native resources associated with this chain.
Removes an effect from this chain.
Removes an effect from this chain.
Removes an effect from this chain.
Removes an effect from this chain.
Removes an effect from this chain.
Removes an effect from this chain.