Visualizer 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.
The Visualizer class enables application to retrieve part of the currently playing audio for visualization purpose.
[Android.Runtime.Register("android/media/audiofx/Visualizer", DoNotGenerateAcw=true)]
public class Visualizer : Java.Lang.Object
[<Android.Runtime.Register("android/media/audiofx/Visualizer", DoNotGenerateAcw=true)>]
type Visualizer = class
inherit Object
- Inheritance
- Attributes
Remarks
The Visualizer class enables application to retrieve part of the currently playing audio for visualization purpose. It is not an audio recording interface and only returns partial and low quality audio content. However, to protect privacy of certain audio data (e.g voice mail) the use of the visualizer requires the permission android.permission.RECORD_AUDIO.
The audio session ID passed to the constructor indicates which audio content should be visualized:<br> <ul> <li>If the session is 0, the audio output mix is visualized</li> <li>If the session is not 0, the audio from a particular android.media.MediaPlayer
or android.media.AudioTrack
using this audio session is visualized </li> </ul>
Two types of representation of audio content can be captured: <br> <ul> <li>Waveform data: consecutive 8-bit (unsigned) mono samples by using the #getWaveForm(byte[])
method</li> <li>Frequency data: 8-bit magnitude FFT by using the #getFft(byte[])
method</li> </ul>
The length of the capture can be retrieved or specified by calling respectively #getCaptureSize()
and #setCaptureSize(int)
methods. The capture size must be a power of 2 in the range returned by #getCaptureSizeRange()
.
In addition to the polling capture mode described above with #getWaveForm(byte[])
and #getFft(byte[])
methods, a callback mode is also available by installing a listener by use of the #setDataCaptureListener(OnDataCaptureListener, int, boolean, boolean)
method. The rate at which the listener capture method is called as well as the type of data returned is specified.
Before capturing data, the Visualizer must be enabled by calling the #setEnabled(boolean)
method. When data capture is not needed any more, the Visualizer should be disabled.
It is good practice to call the #release()
method when the Visualizer is not used anymore to free up native resources associated to the Visualizer instance.
Creating a Visualizer on the output mix (audio session 0) requires permission android.Manifest.permission#MODIFY_AUDIO_SETTINGS
The Visualizer class can also be used to perform measurements on the audio being played back. The measurements to perform are defined by setting a mask of the requested measurement modes with #setMeasurementMode(int)
. Supported values are #MEASUREMENT_MODE_NONE
to cancel any measurement, and #MEASUREMENT_MODE_PEAK_RMS
for peak and RMS monitoring. Measurements can be retrieved through #getMeasurementPeakRms(MeasurementPeakRms)
.
Java documentation for android.media.audiofx.Visualizer
.
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
Visualizer(Int32) |
Class constructor. |
Visualizer(IntPtr, JniHandleOwnership) |
A constructor used when creating managed representations of JNI objects; called by the runtime. |
Fields
AlreadyExists |
Obsolete.
Internal operation status. |
Error |
Obsolete.
Unspecified error. |
ErrorBadValue |
Obsolete.
Operation failed due to bad parameter value. |
ErrorDeadObject |
Obsolete.
Operation failed due to dead remote object. |
ErrorInvalidOperation |
Obsolete.
Operation failed because it was requested in wrong state. |
ErrorNoInit |
Obsolete.
Operation failed due to bad object initialization. |
ErrorNoMemory |
Obsolete.
Operation failed due to lack of memory. |
MeasurementModeNone |
Obsolete.
Defines a measurement mode in which no measurements are performed. |
MeasurementModePeakRms |
Obsolete.
Defines a measurement mode which computes the peak and RMS value in mB below the "full scale", where 0mB is normally the maximum sample value (but see the note below). |
ScalingModeAsPlayed |
Obsolete.
Defines a capture mode where the playback volume will affect (scale) the range of the captured data. |
ScalingModeNormalized |
Obsolete.
Defines a capture mode where amplification is applied based on the content of the captured data. |
StateEnabled |
Obsolete.
State of a Visualizer object that is active. |
StateInitialized |
Obsolete.
State of a Visualizer object that is ready to be used. |
StateUninitialized |
Obsolete.
State of a Visualizer object that was not successfully initialized upon creation |
Success |
Obsolete.
Successful operation. |
Properties
CaptureSize |
Returns current capture size. |
Class |
Returns the runtime class of this |
Enabled |
Get current activation state of the visualizer. |
Handle |
The handle to the underlying Android instance. (Inherited from Object) |
JniIdentityHashCode | (Inherited from Object) |
JniPeerMembers | |
MaxCaptureRate |
Returns the maximum capture rate for the callback capture method. |
MeasurementMode |
Returns the current measurement modes performed by this audio effect |
PeerReference | (Inherited from Object) |
SamplingRate |
Returns the sampling rate of the captured audio. |
ScalingMode |
Returns the current scaling mode on the captured visualization data. |
ThresholdClass |
This API supports the Mono for Android infrastructure and is not intended to be used directly from your code. |
ThresholdType |
This API supports the Mono for Android infrastructure and is not intended to be used directly from your code. |
Methods
Clone() |
Creates and returns a copy of this object. (Inherited from Object) |
Dispose() | (Inherited from Object) |
Dispose(Boolean) | (Inherited from Object) |
Equals(Object) |
Indicates whether some other object is "equal to" this one. (Inherited from Object) |
GetCaptureSizeRange() |
Returns the capture size range. |
GetFft(Byte[]) |
Returns a frequency capture of currently playing audio content. |
GetHashCode() |
Returns a hash code value for the object. (Inherited from Object) |
GetMeasurementPeakRms(Visualizer+MeasurementPeakRms) |
Retrieves the latest peak and RMS measurement. |
GetWaveForm(Byte[]) |
Returns a waveform capture of currently playing audio content. |
JavaFinalize() |
Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. (Inherited from Object) |
Notify() |
Wakes up a single thread that is waiting on this object's monitor. (Inherited from Object) |
NotifyAll() |
Wakes up all threads that are waiting on this object's monitor. (Inherited from Object) |
Release() |
Releases the native Visualizer resources. |
SetCaptureSize(Int32) |
Sets the capture size, i. |
SetDataCaptureListener(Visualizer+IOnDataCaptureListener, Int32, Boolean, Boolean) |
Registers an OnDataCaptureListener interface and specifies the rate at which the capture should be updated as well as the type of capture requested. |
SetEnabled(Boolean) |
Enable or disable the visualization engine. |
SetHandle(IntPtr, JniHandleOwnership) |
Sets the Handle property. (Inherited from Object) |
SetMeasurementMode(VisualizerMeasurementMode) |
Sets the combination of measurement modes to be performed by this audio effect. |
SetScalingMode(VisualizerScalingMode) |
Set the type of scaling applied on the captured visualization data. |
ToArray<T>() | (Inherited from Object) |
ToString() |
Returns a string representation of the object. (Inherited from Object) |
UnregisterFromRuntime() | (Inherited from Object) |
Wait() |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>. (Inherited from Object) |
Wait(Int64, Int32) |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed. (Inherited from Object) |
Wait(Int64) |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed. (Inherited from Object) |
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) |