Merge "MediaRecorder: Add IntDef to setAudioSource"
This commit is contained in:
committed by
Android (Google) Code Review
commit
dcb8edfc4d
@@ -25,6 +25,7 @@ import android.annotation.SystemApi;
|
||||
import android.annotation.TestApi;
|
||||
import android.annotation.UnsupportedAppUsage;
|
||||
import android.app.ActivityThread;
|
||||
import android.media.MediaRecorder.Source;
|
||||
import android.media.audiopolicy.AudioMix;
|
||||
import android.media.audiopolicy.AudioPolicy;
|
||||
import android.media.projection.MediaProjection;
|
||||
@@ -539,7 +540,7 @@ public class AudioRecord implements AudioRouting, MicrophoneDirection,
|
||||
* @return the same Builder instance.
|
||||
* @throws IllegalArgumentException
|
||||
*/
|
||||
public Builder setAudioSource(int source) throws IllegalArgumentException {
|
||||
public Builder setAudioSource(@Source int source) throws IllegalArgumentException {
|
||||
Preconditions.checkState(
|
||||
mAudioPlaybackCaptureConfiguration == null,
|
||||
ERROR_MESSAGE_SOURCE_MISMATCH);
|
||||
|
||||
@@ -18,6 +18,7 @@ package android.media;
|
||||
|
||||
import android.annotation.CallbackExecutor;
|
||||
import android.annotation.FloatRange;
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.RequiresPermission;
|
||||
@@ -42,6 +43,8 @@ import java.io.File;
|
||||
import java.io.FileDescriptor;
|
||||
import java.io.IOException;
|
||||
import java.io.RandomAccessFile;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -355,6 +358,22 @@ public class MediaRecorder implements AudioRouting,
|
||||
public static final int HOTWORD = 1999;
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
@IntDef({
|
||||
AudioSource.DEFAULT,
|
||||
AudioSource.MIC,
|
||||
AudioSource.VOICE_UPLINK,
|
||||
AudioSource.VOICE_DOWNLINK,
|
||||
AudioSource.VOICE_CALL,
|
||||
AudioSource.CAMCORDER,
|
||||
AudioSource.VOICE_RECOGNITION,
|
||||
AudioSource.VOICE_COMMUNICATION,
|
||||
AudioSource.UNPROCESSED,
|
||||
AudioSource.VOICE_PERFORMANCE,
|
||||
})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface Source {}
|
||||
|
||||
// TODO make AudioSource static (API change) and move this method inside the AudioSource class
|
||||
/**
|
||||
* @hide
|
||||
@@ -547,11 +566,11 @@ public class MediaRecorder implements AudioRouting,
|
||||
* to be specified before setting recording-parameters or encoders. Call
|
||||
* this only before setOutputFormat().
|
||||
*
|
||||
* @param audio_source the audio source to use
|
||||
* @param audioSource the audio source to use
|
||||
* @throws IllegalStateException if it is called after setOutputFormat()
|
||||
* @see android.media.MediaRecorder.AudioSource
|
||||
*/
|
||||
public native void setAudioSource(int audio_source)
|
||||
public native void setAudioSource(@Source int audioSource)
|
||||
throws IllegalStateException;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user