diff --git a/media/java/android/media/AudioAttributes.java b/media/java/android/media/AudioAttributes.java index 8612e1bf324c7..a8f313b9df8a8 100644 --- a/media/java/android/media/AudioAttributes.java +++ b/media/java/android/media/AudioAttributes.java @@ -716,24 +716,23 @@ public final class AudioAttributes implements Parcelable { } /** - * Specifies weather the audio may or may not be captured by other apps or the system. + * Specifies whether the audio may or may not be captured by other apps or the system. * * The default is {@link AudioAttributes#ALLOW_CAPTURE_BY_ALL}. * * There are multiple ways to set this policy: - * - for each tracks independently, with this method - * - application wide at runtime, with {@link AudioManager#setAllowedCapturePolicy(int)} - * - application wide at build time, see {@code allowAudioPlaybackCapture} in the - * application manifest. + * * The most restrictive policy is always applied. * - * See {@link AudioPlaybackCaptureConfiguration} for more details on the restrictions + * See {@link AudioPlaybackCaptureConfiguration} for more details on * which audio signals can be captured. * - * @param capturePolicy one of - * {@link #ALLOW_CAPTURE_BY_ALL}, - * {@link #ALLOW_CAPTURE_BY_SYSTEM}, - * {@link #ALLOW_CAPTURE_BY_NONE}. * @return the same Builder instance * @throws IllegalArgumentException if the argument is not a valid value. */ diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java index 23dfb777362bf..2541982e5a5ae 100644 --- a/media/java/android/media/AudioManager.java +++ b/media/java/android/media/AudioManager.java @@ -1484,20 +1484,22 @@ public class AudioManager { } /** - * Specifies wheather the audio played by this app may or may not be captured by other apps or + * Specifies whether the audio played by this app may or may not be captured by other apps or * the system. * * The default is {@link AudioAttributes#ALLOW_CAPTURE_BY_ALL}. * * There are multiple ways to set this policy: - * - for each tracks independently, see - * {@link AudioAttributes.Builder#setAllowedCapturePolicy(int)} - * - application wide at runtime, with this method - * - application wide at build time, see {@code allowAudioPlaybackCapture} in the application - * manifest. + * * The most restrictive policy is always applied. * - * See {@link AudioPlaybackCaptureConfiguration} for more details on the restrictions + * See {@link AudioPlaybackCaptureConfiguration} for more details on * which audio signals can be captured. * * @param capturePolicy one of diff --git a/media/java/android/media/AudioPlaybackCaptureConfiguration.java b/media/java/android/media/AudioPlaybackCaptureConfiguration.java index fe5005a7cc9a1..453704eea3986 100644 --- a/media/java/android/media/AudioPlaybackCaptureConfiguration.java +++ b/media/java/android/media/AudioPlaybackCaptureConfiguration.java @@ -34,21 +34,23 @@ import java.util.function.ToIntFunction; * When capturing audio signals played by other apps (and yours), * you will only capture a mix of the audio signals played by players * (such as AudioTrack or MediaPlayer) which present the following characteristics: - * - the usage value MUST be {@link AudioAttributes#USAGE_UNKNOWN} or - * {@link AudioAttributes#USAGE_GAME} - * or {@link AudioAttributes#USAGE_MEDIA}. All other usages CAN NOT be captured. - * - AND the capture policy set by their app (with ${@link AudioManager#setAllowedCapturePolicy}) - * or on each player (with ${@link AudioAttributes.Builder#setAllowedCapturePolicy}) is - * {@link AudioAttributes#ALLOW_CAPTURE_BY_ALL}, whichever is the most strict. - * - AND their app attribute allowAudioPlaybackCapture in their manifest - * MUST either be: - * * set to "true" - * * not set, and their {@code targetSdkVersion} MUST be equal or higher to - * {@link android.os.Build.VERSION_CODES#Q}. - * Ie. Apps that do not target at least Android Q must explicitly opt-in to be captured by a - * MediaProjection. - * - AND their apps MUST be in the same user profile as your app - * (eg work profile can not capture user profile apps and vice-versa). + * * *

An example for creating a capture configuration for capturing all media playback: * @@ -56,7 +58,7 @@ import java.util.function.ToIntFunction; * MediaProjection mediaProjection; * // Retrieve a audio capable projection from the MediaProjectionManager * AudioPlaybackCaptureConfiguration config = - * new AudioPlaybackCaptureConfiguration.Builder(mediaProjection) + * new AudioPlaybackCaptureConfiguration.Builder(mediaProjection) * .addMatchingUsage(AudioAttributes.USAGE_MEDIA) * .build(); * AudioRecord record = new AudioRecord.Builder() @@ -64,7 +66,8 @@ import java.util.function.ToIntFunction; * .build(); * * - * @see MediaProjectionManager#getMediaProjection(int, Intent) + * @see Builder + * @see android.media.projection.MediaProjectionManager#getMediaProjection(int, Intent) * @see AudioRecord.Builder#setAudioPlaybackCaptureConfig(AudioPlaybackCaptureConfiguration) */ public final class AudioPlaybackCaptureConfiguration { @@ -80,7 +83,7 @@ public final class AudioPlaybackCaptureConfiguration { /** * @return the {@code MediaProjection} used to build this object. - * @see {@code Builder.Builder} + * @see Builder#Builder(MediaProjection) */ public @NonNull MediaProjection getMediaProjection() { return mProjection;