public final class AudioRecordingConfiguration extends Object implements Parcelable
Direct polling (see AudioManager.getActiveRecordingConfigurations()
) or callback
(see AudioManager.registerAudioRecordingCallback(android.media.AudioManager.AudioRecordingCallback, android.os.Handler)
methods are ways to receive information about the current recording configuration of the device.
An audio recording configuration contains information about the recording format as used by
the application (getClientFormat()
, as well as the recording format actually used by
the device (getFormat()
). The two recording formats may, for instance, be at different
sampling rates due to hardware limitations (e.g. application recording at 44.1kHz whereas the
device always records at 48kHz, and the Android framework resamples for the application).
The configuration also contains the use case for which audio is recorded
(getClientAudioSource()
), enabling the ability to distinguish between different
activities such as ongoing voice recognition or camcorder recording.
Modifier and Type | Class and Description |
---|---|
static interface |
AudioRecordingConfiguration.AudioSource |
Parcelable.ClassLoaderCreator<T>, Parcelable.Creator<T>
Modifier and Type | Field and Description |
---|---|
static Parcelable.Creator<AudioRecordingConfiguration> |
CREATOR |
CONTENTS_FILE_DESCRIPTOR, PARCELABLE_ELIDE_DUPLICATES, PARCELABLE_WRITE_RETURN_VALUE
Constructor and Description |
---|
AudioRecordingConfiguration(int session,
int source,
AudioFormat clientFormat,
AudioFormat devFormat,
int patchHandle) |
Modifier and Type | Method and Description |
---|---|
int |
describeContents()
Describe the kinds of special objects contained in this Parcelable
instance's marshaled representation.
|
boolean |
equals(Object o)
Indicates whether some other object is "equal to" this one.
|
AudioDeviceInfo |
getAudioDevice()
Returns information about the audio input device used for this recording.
|
int |
getClientAudioSessionId()
Returns the session number of the recording, see
AudioRecord.getAudioSessionId() . |
int |
getClientAudioSource()
Returns the audio source being used for the recording.
|
AudioFormat |
getClientFormat()
Returns the audio format at which the client application is recording audio.
|
AudioFormat |
getFormat()
Returns the audio format at which audio is recorded on this Android device.
|
int |
hashCode()
Returns a hash code value for the object.
|
void |
writeToParcel(Parcel dest,
int flags)
Flatten this object in to a Parcel.
|
public static final Parcelable.Creator<AudioRecordingConfiguration> CREATOR
public AudioRecordingConfiguration(int session, int source, AudioFormat clientFormat, AudioFormat devFormat, int patchHandle)
public int getClientAudioSource()
MediaRecorder.AudioSource.DEFAULT
,
MediaRecorder.AudioSource.MIC
,
MediaRecorder.AudioSource.VOICE_UPLINK
,
MediaRecorder.AudioSource.VOICE_DOWNLINK
,
MediaRecorder.AudioSource.VOICE_CALL
,
MediaRecorder.AudioSource.CAMCORDER
,
MediaRecorder.AudioSource.VOICE_RECOGNITION
,
MediaRecorder.AudioSource.VOICE_COMMUNICATION
,
MediaRecorder.AudioSource.UNPROCESSED
.public int getClientAudioSessionId()
AudioRecord.getAudioSessionId()
.public AudioFormat getFormat()
getClientFormat()
).public AudioFormat getClientFormat()
getFormat()
).public AudioDeviceInfo getAudioDevice()
public int hashCode()
Object
HashMap
.
The general contract of hashCode
is:
hashCode
method
must consistently return the same integer, provided no information
used in equals
comparisons on the object is modified.
This integer need not remain consistent from one execution of an
application to another execution of the same application.
equals(Object)
method, then calling the hashCode
method on each of
the two objects must produce the same integer result.
Object.equals(java.lang.Object)
method, then calling the hashCode
method on each of the
two objects must produce distinct integer results. However, the
programmer should be aware that producing distinct integer results
for unequal objects may improve the performance of hash tables.
As much as is reasonably practical, the hashCode method defined by
class Object
does return distinct integers for distinct
objects. (This is typically implemented by converting the internal
address of the object into an integer, but this implementation
technique is not required by the
JavaTM programming language.)
hashCode
in class Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public int describeContents()
Parcelable
Parcelable.writeToParcel(Parcel, int)
,
the return value of this method must include the
Parcelable.CONTENTS_FILE_DESCRIPTOR
bit.describeContents
in interface Parcelable
Parcelable.CONTENTS_FILE_DESCRIPTOR
public void writeToParcel(Parcel dest, int flags)
Parcelable
writeToParcel
in interface Parcelable
dest
- The Parcel in which the object should be written.flags
- Additional flags about how the object should be written.
May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE
.public boolean equals(Object o)
Object
The equals
method implements an equivalence relation
on non-null object references:
x
, x.equals(x)
should return
true
.
x
and y
, x.equals(y)
should return true
if and only if
y.equals(x)
returns true
.
x
, y
, and z
, if
x.equals(y)
returns true
and
y.equals(z)
returns true
, then
x.equals(z)
should return true
.
x
and y
, multiple invocations of
x.equals(y)
consistently return true
or consistently return false
, provided no
information used in equals
comparisons on the
objects is modified.
x
,
x.equals(null)
should return false
.
The equals
method for class Object
implements
the most discriminating possible equivalence relation on objects;
that is, for any non-null reference values x
and
y
, this method returns true
if and only
if x
and y
refer to the same object
(x == y
has the value true
).
Note that it is generally necessary to override the hashCode
method whenever this method is overridden, so as to maintain the
general contract for the hashCode
method, which states
that equal objects must have equal hash codes.
equals
in class Object
o
- the reference object with which to compare.true
if this object is the same as the obj
argument; false
otherwise.Object.hashCode()
,
HashMap