diff options
| author | 2016-01-28 04:23:04 +0000 | |
|---|---|---|
| committer | 2016-01-28 04:23:04 +0000 | |
| commit | 8af734b80a44c8ec8775e1adbd2955b38a184564 (patch) | |
| tree | 76895d385cb96ee3981dad0b05d42f0555fcad9c | |
| parent | 2c6c25f2460fd5606e52c25f98d44122219a7090 (diff) | |
| parent | f730d87936131902773bb64789cce94b0db78fef (diff) | |
Merge "API to query recording format and device on AudioRecordConfiguration"
| -rw-r--r-- | api/current.txt | 5 | ||||
| -rw-r--r-- | api/system-current.txt | 5 | ||||
| -rw-r--r-- | api/test-current.txt | 5 | ||||
| -rw-r--r-- | media/java/android/media/AudioRecordConfiguration.java | 48 |
4 files changed, 58 insertions, 5 deletions
diff --git a/api/current.txt b/api/current.txt index 52cec478b07b..f0a528f355e9 100644 --- a/api/current.txt +++ b/api/current.txt @@ -19896,8 +19896,11 @@ package android.media { public class AudioRecordConfiguration implements android.os.Parcelable { method public int describeContents(); - method public int getAudioSessionId(); + method public android.media.AudioDeviceInfo getAudioDevice(); + method public int getClientAudioSessionId(); method public int getClientAudioSource(); + method public android.media.AudioFormat getClientFormat(); + method public android.media.AudioFormat getFormat(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.media.AudioRecordConfiguration> CREATOR; } diff --git a/api/system-current.txt b/api/system-current.txt index e50b303e1f5c..904f0336b879 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -21020,8 +21020,11 @@ package android.media { public class AudioRecordConfiguration implements android.os.Parcelable { method public int describeContents(); - method public int getAudioSessionId(); + method public android.media.AudioDeviceInfo getAudioDevice(); + method public int getClientAudioSessionId(); method public int getClientAudioSource(); + method public android.media.AudioFormat getClientFormat(); + method public android.media.AudioFormat getFormat(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.media.AudioRecordConfiguration> CREATOR; } diff --git a/api/test-current.txt b/api/test-current.txt index 13e60bdf3e4f..3a7210a3deb6 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -19905,8 +19905,11 @@ package android.media { public class AudioRecordConfiguration implements android.os.Parcelable { method public int describeContents(); - method public int getAudioSessionId(); + method public android.media.AudioDeviceInfo getAudioDevice(); + method public int getClientAudioSessionId(); method public int getClientAudioSource(); + method public android.media.AudioFormat getClientFormat(); + method public android.media.AudioFormat getFormat(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.media.AudioRecordConfiguration> CREATOR; } diff --git a/media/java/android/media/AudioRecordConfiguration.java b/media/java/android/media/AudioRecordConfiguration.java index c7d219d981f4..69df88f3cfe3 100644 --- a/media/java/android/media/AudioRecordConfiguration.java +++ b/media/java/android/media/AudioRecordConfiguration.java @@ -23,7 +23,7 @@ import java.util.Objects; /** * The AudioRecordConfiguration class collects the information describing an audio recording - * session. This information is returned through the + * session. This information is returned through the * {@link AudioManager#getActiveRecordConfigurations()} method. * */ @@ -33,12 +33,32 @@ public class AudioRecordConfiguration implements Parcelable { private final int mClientSource; + private final AudioFormat mDeviceFormat; + private final AudioFormat mClientFormat; + + private final AudioDeviceInfo mRecDevice; + /** * @hide */ public AudioRecordConfiguration(int session, int source) { mSessionId = session; mClientSource = source; + mDeviceFormat = new AudioFormat.Builder().build(); + mClientFormat = new AudioFormat.Builder().build(); + mRecDevice = null; + } + + /** + * @hide + */ + public AudioRecordConfiguration(int session, int source, AudioFormat devFormat, + AudioFormat clientFormat, AudioDeviceInfo device) { + mSessionId = session; + mClientSource = source; + mDeviceFormat = devFormat; + mClientFormat = clientFormat; + mRecDevice = device; } /** @@ -57,7 +77,28 @@ public class AudioRecordConfiguration implements Parcelable { * Returns the session number of the recording, see {@link AudioRecord#getAudioSessionId()}. * @return the session number. */ - public int getAudioSessionId() { return mSessionId; } + public int getClientAudioSessionId() { return mSessionId; } + + /** + * Returns the audio format at which audio is recorded on this Android device. + * Note that it may differ from the client application recording format + * (see {@link #getClientFormat()}). + * @return the device recording format + */ + public AudioFormat getFormat() { return mDeviceFormat; } + + /** + * Returns the audio format at which the client application is recording audio. + * Note that it may differ from the actual recording format (see {@link #getFormat()}). + * @return the recording format + */ + public AudioFormat getClientFormat() { return mClientFormat; } + + /** + * Returns the audio input device used for this recording. + * @return the audio recording device + */ + public AudioDeviceInfo getAudioDevice() { return mRecDevice; } public static final Parcelable.Creator<AudioRecordConfiguration> CREATOR = new Parcelable.Creator<AudioRecordConfiguration>() { @@ -93,6 +134,9 @@ public class AudioRecordConfiguration implements Parcelable { private AudioRecordConfiguration(Parcel in) { mSessionId = in.readInt(); mClientSource = in.readInt(); + mDeviceFormat = new AudioFormat.Builder().build(); + mClientFormat = new AudioFormat.Builder().build(); + mRecDevice = null; } @Override |