diff options
| author | 2021-03-12 20:00:05 +0000 | |
|---|---|---|
| committer | 2021-03-12 20:03:42 +0000 | |
| commit | 958faf9a252a62a79c426f99ba23b83f93705157 (patch) | |
| tree | 2cdfe6f39ddf4d2f2b86a2f5d50ddeb88a5d5e8b | |
| parent | e4ba4f837d74b92066f617eeeb64259cecc90588 (diff) | |
Add MediaRecorder.SystemSource.
Add an IntDef named MediaRecorder.SystemSource, which includes all
audio source that is defined in MediaRecorder.AudioSource. It can be
used for preferred device for capture preset APIs.
Test: atest AudioServiceHostTest
Bug: 180395563
Change-Id: If80a2875b64544c1e7e60999bad6dafdba712333
| -rw-r--r-- | media/java/android/media/AudioManager.java | 14 | ||||
| -rw-r--r-- | media/java/android/media/MediaRecorder.java | 20 |
2 files changed, 29 insertions, 5 deletions
diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java index 1cef0922a48e..c40974dcb3dc 100644 --- a/media/java/android/media/AudioManager.java +++ b/media/java/android/media/AudioManager.java @@ -1988,7 +1988,7 @@ public class AudioManager { */ @SystemApi @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) - public boolean setPreferredDeviceForCapturePreset(int capturePreset, + public boolean setPreferredDeviceForCapturePreset(@MediaRecorder.SystemSource int capturePreset, @NonNull AudioDeviceAttributes device) { return setPreferredDevicesForCapturePreset(capturePreset, Arrays.asList(device)); } @@ -2002,7 +2002,8 @@ public class AudioManager { */ @SystemApi @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) - public boolean clearPreferredDevicesForCapturePreset(int capturePreset) { + public boolean clearPreferredDevicesForCapturePreset( + @MediaRecorder.SystemSource int capturePreset) { if (!MediaRecorder.isValidAudioSource(capturePreset)) { return false; } @@ -2024,7 +2025,8 @@ public class AudioManager { @NonNull @SystemApi @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) - public List<AudioDeviceAttributes> getPreferredDevicesForCapturePreset(int capturePreset) { + public List<AudioDeviceAttributes> getPreferredDevicesForCapturePreset( + @MediaRecorder.SystemSource int capturePreset) { if (!MediaRecorder.isValidAudioSource(capturePreset)) { return new ArrayList<AudioDeviceAttributes>(); } @@ -2036,7 +2038,8 @@ public class AudioManager { } private boolean setPreferredDevicesForCapturePreset( - int capturePreset, @NonNull List<AudioDeviceAttributes> devices) { + @MediaRecorder.SystemSource int capturePreset, + @NonNull List<AudioDeviceAttributes> devices) { Objects.requireNonNull(devices); if (!MediaRecorder.isValidAudioSource(capturePreset)) { return false; @@ -2081,7 +2084,8 @@ public class AudioManager { * @param devices a list of newly set preferred audio devices */ void onPreferredDevicesForCapturePresetChanged( - int capturePreset, @NonNull List<AudioDeviceAttributes> devices); + @MediaRecorder.SystemSource int capturePreset, + @NonNull List<AudioDeviceAttributes> devices); } /** diff --git a/media/java/android/media/MediaRecorder.java b/media/java/android/media/MediaRecorder.java index 49a4cc6239bb..c35a92031ca3 100644 --- a/media/java/android/media/MediaRecorder.java +++ b/media/java/android/media/MediaRecorder.java @@ -379,6 +379,26 @@ public class MediaRecorder implements AudioRouting, @Retention(RetentionPolicy.SOURCE) public @interface Source {} + /** @hide */ + @IntDef({ + AudioSource.DEFAULT, + AudioSource.MIC, + AudioSource.VOICE_UPLINK, + AudioSource.VOICE_DOWNLINK, + AudioSource.VOICE_CALL, + AudioSource.CAMCORDER, + AudioSource.VOICE_RECOGNITION, + AudioSource.VOICE_COMMUNICATION, + AudioSource.REMOTE_SUBMIX, + AudioSource.UNPROCESSED, + AudioSource.VOICE_PERFORMANCE, + AudioSource.ECHO_REFERENCE, + AudioSource.RADIO_TUNER, + AudioSource.HOTWORD, + }) + @Retention(RetentionPolicy.SOURCE) + public @interface SystemSource {} + // TODO make AudioSource static (API change) and move this method inside the AudioSource class /** * @hide |