DynamicsProcessing Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
DynamicsProcessing is an audio effect for equalizing and changing dynamic range properties of the sound.
[Android.Runtime.Register("android/media/audiofx/DynamicsProcessing", ApiSince=28, DoNotGenerateAcw=true)]
public sealed class DynamicsProcessing : Android.Media.Audiofx.AudioEffect
[<Android.Runtime.Register("android/media/audiofx/DynamicsProcessing", ApiSince=28, DoNotGenerateAcw=true)>]
type DynamicsProcessing = class
inherit AudioEffect
- Inheritance
- Attributes
Remarks
DynamicsProcessing is an audio effect for equalizing and changing dynamic range properties of the sound. It is composed of multiple stages including equalization, multi-band compression and limiter.
The number of bands and active stages is configurable, and most parameters can be controlled in realtime, such as gains, attack/release times, thresholds, etc.
The effect is instantiated and controlled by channels. Each channel has the same basic architecture, but all of their parameters are independent from other channels.
The basic channel configuration is:
Channel 0 Channel 1 .... Channel N-1
Input Input Input
| | |
+----v----+ +----v----+ +----v----+
|inputGain| |inputGain| |inputGain|
+---------+ +---------+ +---------+
| | |
+-----v-----+ +-----v-----+ +-----v-----+
| PreEQ | | PreEQ | | PreEQ |
+-----------+ +-----------+ +-----------+
| | |
+-----v-----+ +-----v-----+ +-----v-----+
| MBC | | MBC | | MBC |
+-----------+ +-----------+ +-----------+
| | |
+-----v-----+ +-----v-----+ +-----v-----+
| PostEQ | | PostEQ | | PostEQ |
+-----------+ +-----------+ +-----------+
| | |
+-----v-----+ +-----v-----+ +-----v-----+
| Limiter | | Limiter | | Limiter |
+-----------+ +-----------+ +-----------+
| | |
Output Output Output
Where the stages are: inputGain: input gain factor in decibels (dB). 0 dB means no change in level. PreEQ: Multi-band Equalizer. MBC: Multi-band Compressor PostEQ: Multi-band Equalizer Limiter: Single band compressor/limiter.
An application creates a DynamicsProcessing object to instantiate and control this audio effect in the audio framework. A DynamicsProcessor.Config and DynamicsProcessor.Config.Builder are available to help configure the multiple stages and each band parameters if desired.
See each stage documentation for further details.
If no Config is specified during creation, a default configuration is chosen.
To attach the DynamicsProcessing to a particular AudioTrack or MediaPlayer, specify the audio session ID of this AudioTrack or MediaPlayer when constructing the effect (see AudioTrack#getAudioSessionId()
and MediaPlayer#getAudioSessionId()
).
To attach the DynamicsProcessing to a particular AudioTrack or MediaPlayer, specify the audio session ID of this AudioTrack or MediaPlayer when constructing the DynamicsProcessing.
See android.media.MediaPlayer#getAudioSessionId()
for details on audio sessions.
See android.media.audiofx.AudioEffect
class for more details on controlling audio effects.
Java documentation for android.media.audiofx.DynamicsProcessing
.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
Constructors
DynamicsProcessing(Int32, Int32, DynamicsProcessing+Config) |
Class constructor. |
DynamicsProcessing(Int32) |
Class constructor. |
Fields
ActionCloseAudioEffectControlSession |
Intent to signal to the effect control application or service that an audio session is closed and that effects should not be applied anymore. (Inherited from AudioEffect) |
ActionDisplayAudioEffectControlPanel |
Intent to launch an audio effect control panel UI. (Inherited from AudioEffect) |
ActionOpenAudioEffectControlSession |
Intent to signal to the effect control application or service that a new audio session is opened and requires audio effects to be applied. (Inherited from AudioEffect) |
AlreadyExists |
Obsolete.
Internal operation status. (Inherited from AudioEffect) |
ContentTypeGame |
Obsolete.
Value for |
ContentTypeMovie |
Obsolete.
Value for |
ContentTypeMusic |
Obsolete.
Value for |
ContentTypeVoice |
Obsolete.
Value for |
EffectAuxiliary |
Effect connection mode is auxiliary. (Inherited from AudioEffect) |
EffectInsert |
Effect connection mode is insert. (Inherited from AudioEffect) |
EffectPostProcessing |
Effect connection mode is post processing. (Inherited from AudioEffect) |
EffectPreProcessing |
Effect connection mode is pre processing. (Inherited from AudioEffect) |
Error |
Obsolete.
Unspecified error. (Inherited from AudioEffect) |
ErrorBadValue |
Obsolete.
Operation failed due to bad parameter value. (Inherited from AudioEffect) |
ErrorDeadObject |
Obsolete.
Operation failed due to dead remote object. (Inherited from AudioEffect) |
ErrorInvalidOperation |
Obsolete.
Operation failed because it was requested in wrong state. (Inherited from AudioEffect) |
ErrorNoInit |
Obsolete.
Operation failed due to bad object initialization. (Inherited from AudioEffect) |
ErrorNoMemory |
Obsolete.
Operation failed due to lack of memory. (Inherited from AudioEffect) |
ExtraAudioSession |
Contains the ID of the audio session the effects should be applied to. (Inherited from AudioEffect) |
ExtraContentType |
Indicates which type of content is played by the application. (Inherited from AudioEffect) |
ExtraPackageName |
Contains the package name of the calling application. (Inherited from AudioEffect) |
Success |
Obsolete.
Successful operation. (Inherited from AudioEffect) |
VariantFavorFrequencyResolution |
Obsolete.
Index of variant that favors frequency resolution. |
VariantFavorTimeResolution |
Obsolete.
Index of variant that favors time resolution resolution. |
Properties
ChannelCount |
Gets the number of channels in the effect engine |
Class |
Returns the runtime class of this |
Enabled |
Returns effect enabled state (Inherited from AudioEffect) |
Handle |
The handle to the underlying Android instance. (Inherited from Object) |
HasControl |
Checks if this AudioEffect object is controlling the effect engine. (Inherited from AudioEffect) |
Id |
Returns effect unique identifier. (Inherited from AudioEffect) |
JniIdentityHashCode | (Inherited from Object) |
JniPeerMembers | |
PeerReference | (Inherited from Object) |
ThresholdClass |
This API supports the Mono for Android infrastructure and is not intended to be used directly from your code. (Inherited from AudioEffect) |
ThresholdType |
This API supports the Mono for Android infrastructure and is not intended to be used directly from your code. (Inherited from AudioEffect) |
Methods
Events
ControlStatus | (Inherited from AudioEffect) |
EnableStatus | (Inherited from AudioEffect) |
Explicit Interface Implementations
IJavaPeerable.Disposed() | (Inherited from Object) |
IJavaPeerable.DisposeUnlessReferenced() | (Inherited from Object) |
IJavaPeerable.Finalized() | (Inherited from Object) |
IJavaPeerable.JniManagedPeerState | (Inherited from Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) | (Inherited from Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) | (Inherited from Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) | (Inherited from Object) |
Extension Methods
JavaCast<TResult>(IJavaObject) |
Performs an Android runtime-checked type conversion. |
JavaCast<TResult>(IJavaObject) | |
GetJniTypeName(IJavaPeerable) |