Loading core/api/current.txt +2 −2 Original line number Original line Diff line number Diff line Loading @@ -20183,7 +20183,7 @@ package android.media { } } public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection { public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection { ctor public AudioRecord(int, int, int, int, int) throws java.lang.IllegalArgumentException; ctor @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(int, int, int, int, int) throws java.lang.IllegalArgumentException; method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler); method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler); method @Deprecated public void addOnRoutingChangedListener(android.media.AudioRecord.OnRoutingChangedListener, android.os.Handler); method @Deprecated public void addOnRoutingChangedListener(android.media.AudioRecord.OnRoutingChangedListener, android.os.Handler); method protected void finalize(); method protected void finalize(); Loading Loading @@ -20244,7 +20244,7 @@ package android.media { public static class AudioRecord.Builder { public static class AudioRecord.Builder { ctor public AudioRecord.Builder(); ctor public AudioRecord.Builder(); method public android.media.AudioRecord build() throws java.lang.UnsupportedOperationException; method @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public android.media.AudioRecord build() throws java.lang.UnsupportedOperationException; method public android.media.AudioRecord.Builder setAudioFormat(@NonNull android.media.AudioFormat) throws java.lang.IllegalArgumentException; method public android.media.AudioRecord.Builder setAudioFormat(@NonNull android.media.AudioFormat) throws java.lang.IllegalArgumentException; method @NonNull public android.media.AudioRecord.Builder setAudioPlaybackCaptureConfig(@NonNull android.media.AudioPlaybackCaptureConfiguration); method @NonNull public android.media.AudioRecord.Builder setAudioPlaybackCaptureConfig(@NonNull android.media.AudioPlaybackCaptureConfiguration); method public android.media.AudioRecord.Builder setAudioSource(int) throws java.lang.IllegalArgumentException; method public android.media.AudioRecord.Builder setAudioSource(int) throws java.lang.IllegalArgumentException; core/api/system-current.txt +1 −1 Original line number Original line Diff line number Diff line Loading @@ -4938,7 +4938,7 @@ package android.media { } } public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection { public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection { ctor public AudioRecord(android.media.AudioAttributes, android.media.AudioFormat, int, int) throws java.lang.IllegalArgumentException; ctor @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(android.media.AudioAttributes, android.media.AudioFormat, int, int) throws java.lang.IllegalArgumentException; } } public static class AudioRecord.Builder { public static class AudioRecord.Builder { Loading media/java/android/media/AudioRecord.java +12 −1 Original line number Original line Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.annotation.FloatRange; import android.annotation.IntDef; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.SystemApi; import android.annotation.TestApi; import android.annotation.TestApi; import android.app.ActivityThread; import android.app.ActivityThread; Loading Loading @@ -67,7 +68,14 @@ import java.util.concurrent.Executor; * fill with the new audio data. The size of this buffer, specified during the construction, * fill with the new audio data. The size of this buffer, specified during the construction, * determines how long an AudioRecord can record before "over-running" data that has not * determines how long an AudioRecord can record before "over-running" data that has not * been read yet. Data should be read from the audio hardware in chunks of sizes inferior to * been read yet. Data should be read from the audio hardware in chunks of sizes inferior to * the total recording buffer size. * the total recording buffer size.</p> * <p> * Applications creating an AudioRecord instance need * {@link android.Manifest.permission#RECORD_AUDIO} or the Builder will throw * {@link java.lang.UnsupportedOperationException} on * {@link android.media.AudioRecord.Builder#build build()}, * and the constructor will return an instance in state * {@link #STATE_UNINITIALIZED}.</p> */ */ public class AudioRecord implements AudioRouting, MicrophoneDirection, public class AudioRecord implements AudioRouting, MicrophoneDirection, AudioRecordingMonitor, AudioRecordingMonitorClient AudioRecordingMonitor, AudioRecordingMonitorClient Loading Loading @@ -297,6 +305,7 @@ public class AudioRecord implements AudioRouting, MicrophoneDirection, * smaller than getMinBufferSize() will result in an initialization failure. * smaller than getMinBufferSize() will result in an initialization failure. * @throws java.lang.IllegalArgumentException * @throws java.lang.IllegalArgumentException */ */ @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, public AudioRecord(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes) int bufferSizeInBytes) throws IllegalArgumentException { throws IllegalArgumentException { Loading Loading @@ -334,6 +343,7 @@ public class AudioRecord implements AudioRouting, MicrophoneDirection, * @throws IllegalArgumentException * @throws IllegalArgumentException */ */ @SystemApi @SystemApi @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(AudioAttributes attributes, AudioFormat format, int bufferSizeInBytes, public AudioRecord(AudioAttributes attributes, AudioFormat format, int bufferSizeInBytes, int sessionId) throws IllegalArgumentException { int sessionId) throws IllegalArgumentException { mRecordingState = RECORDSTATE_STOPPED; mRecordingState = RECORDSTATE_STOPPED; Loading Loading @@ -718,6 +728,7 @@ public class AudioRecord implements AudioRouting, MicrophoneDirection, * were incompatible, or if they are not supported by the device, * were incompatible, or if they are not supported by the device, * or if the device was not available. * or if the device was not available. */ */ @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord build() throws UnsupportedOperationException { public AudioRecord build() throws UnsupportedOperationException { if (mAudioPlaybackCaptureConfiguration != null) { if (mAudioPlaybackCaptureConfiguration != null) { return buildAudioPlaybackCaptureRecord(); return buildAudioPlaybackCaptureRecord(); Loading Loading
core/api/current.txt +2 −2 Original line number Original line Diff line number Diff line Loading @@ -20183,7 +20183,7 @@ package android.media { } } public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection { public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection { ctor public AudioRecord(int, int, int, int, int) throws java.lang.IllegalArgumentException; ctor @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(int, int, int, int, int) throws java.lang.IllegalArgumentException; method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler); method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler); method @Deprecated public void addOnRoutingChangedListener(android.media.AudioRecord.OnRoutingChangedListener, android.os.Handler); method @Deprecated public void addOnRoutingChangedListener(android.media.AudioRecord.OnRoutingChangedListener, android.os.Handler); method protected void finalize(); method protected void finalize(); Loading Loading @@ -20244,7 +20244,7 @@ package android.media { public static class AudioRecord.Builder { public static class AudioRecord.Builder { ctor public AudioRecord.Builder(); ctor public AudioRecord.Builder(); method public android.media.AudioRecord build() throws java.lang.UnsupportedOperationException; method @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public android.media.AudioRecord build() throws java.lang.UnsupportedOperationException; method public android.media.AudioRecord.Builder setAudioFormat(@NonNull android.media.AudioFormat) throws java.lang.IllegalArgumentException; method public android.media.AudioRecord.Builder setAudioFormat(@NonNull android.media.AudioFormat) throws java.lang.IllegalArgumentException; method @NonNull public android.media.AudioRecord.Builder setAudioPlaybackCaptureConfig(@NonNull android.media.AudioPlaybackCaptureConfiguration); method @NonNull public android.media.AudioRecord.Builder setAudioPlaybackCaptureConfig(@NonNull android.media.AudioPlaybackCaptureConfiguration); method public android.media.AudioRecord.Builder setAudioSource(int) throws java.lang.IllegalArgumentException; method public android.media.AudioRecord.Builder setAudioSource(int) throws java.lang.IllegalArgumentException;
core/api/system-current.txt +1 −1 Original line number Original line Diff line number Diff line Loading @@ -4938,7 +4938,7 @@ package android.media { } } public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection { public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection { ctor public AudioRecord(android.media.AudioAttributes, android.media.AudioFormat, int, int) throws java.lang.IllegalArgumentException; ctor @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(android.media.AudioAttributes, android.media.AudioFormat, int, int) throws java.lang.IllegalArgumentException; } } public static class AudioRecord.Builder { public static class AudioRecord.Builder { Loading
media/java/android/media/AudioRecord.java +12 −1 Original line number Original line Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.annotation.FloatRange; import android.annotation.IntDef; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.SystemApi; import android.annotation.TestApi; import android.annotation.TestApi; import android.app.ActivityThread; import android.app.ActivityThread; Loading Loading @@ -67,7 +68,14 @@ import java.util.concurrent.Executor; * fill with the new audio data. The size of this buffer, specified during the construction, * fill with the new audio data. The size of this buffer, specified during the construction, * determines how long an AudioRecord can record before "over-running" data that has not * determines how long an AudioRecord can record before "over-running" data that has not * been read yet. Data should be read from the audio hardware in chunks of sizes inferior to * been read yet. Data should be read from the audio hardware in chunks of sizes inferior to * the total recording buffer size. * the total recording buffer size.</p> * <p> * Applications creating an AudioRecord instance need * {@link android.Manifest.permission#RECORD_AUDIO} or the Builder will throw * {@link java.lang.UnsupportedOperationException} on * {@link android.media.AudioRecord.Builder#build build()}, * and the constructor will return an instance in state * {@link #STATE_UNINITIALIZED}.</p> */ */ public class AudioRecord implements AudioRouting, MicrophoneDirection, public class AudioRecord implements AudioRouting, MicrophoneDirection, AudioRecordingMonitor, AudioRecordingMonitorClient AudioRecordingMonitor, AudioRecordingMonitorClient Loading Loading @@ -297,6 +305,7 @@ public class AudioRecord implements AudioRouting, MicrophoneDirection, * smaller than getMinBufferSize() will result in an initialization failure. * smaller than getMinBufferSize() will result in an initialization failure. * @throws java.lang.IllegalArgumentException * @throws java.lang.IllegalArgumentException */ */ @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, public AudioRecord(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes) int bufferSizeInBytes) throws IllegalArgumentException { throws IllegalArgumentException { Loading Loading @@ -334,6 +343,7 @@ public class AudioRecord implements AudioRouting, MicrophoneDirection, * @throws IllegalArgumentException * @throws IllegalArgumentException */ */ @SystemApi @SystemApi @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(AudioAttributes attributes, AudioFormat format, int bufferSizeInBytes, public AudioRecord(AudioAttributes attributes, AudioFormat format, int bufferSizeInBytes, int sessionId) throws IllegalArgumentException { int sessionId) throws IllegalArgumentException { mRecordingState = RECORDSTATE_STOPPED; mRecordingState = RECORDSTATE_STOPPED; Loading Loading @@ -718,6 +728,7 @@ public class AudioRecord implements AudioRouting, MicrophoneDirection, * were incompatible, or if they are not supported by the device, * were incompatible, or if they are not supported by the device, * or if the device was not available. * or if the device was not available. */ */ @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord build() throws UnsupportedOperationException { public AudioRecord build() throws UnsupportedOperationException { if (mAudioPlaybackCaptureConfiguration != null) { if (mAudioPlaybackCaptureConfiguration != null) { return buildAudioPlaybackCaptureRecord(); return buildAudioPlaybackCaptureRecord(); Loading