diff options
| -rw-r--r-- | media/java/android/media/MediaSession2.java | 30 | ||||
| -rw-r--r-- | media/java/android/media/update/MediaSession2Provider.java | 3 |
2 files changed, 33 insertions, 0 deletions
diff --git a/media/java/android/media/MediaSession2.java b/media/java/android/media/MediaSession2.java index 0932fea43d2a..22f3f097c01e 100644 --- a/media/java/android/media/MediaSession2.java +++ b/media/java/android/media/MediaSession2.java @@ -19,6 +19,8 @@ package android.media; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Context; +import android.media.AudioAttributes; +import android.media.AudioManager; import android.media.MediaPlayerBase.PlaybackListener; import android.media.session.MediaSession; import android.media.session.MediaSession.Callback; @@ -726,6 +728,34 @@ public class MediaSession2 implements AutoCloseable { } /** + * Sets the {@link AudioAttributes} to be used during the playback of the video. + * + * @param attributes non-null <code>AudioAttributes</code>. + */ + public void setAudioAttributes(@NonNull AudioAttributes attributes) { + mProvider.setAudioAttributes_impl(attributes); + } + + /** + * Sets which type of audio focus will be requested during the playback, or configures playback + * to not request audio focus. Valid values for focus requests are + * {@link AudioManager#AUDIOFOCUS_GAIN}, {@link AudioManager#AUDIOFOCUS_GAIN_TRANSIENT}, + * {@link AudioManager#AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK}, and + * {@link AudioManager#AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE}. Or use + * {@link AudioManager#AUDIOFOCUS_NONE} to express that audio focus should not be + * requested when playback starts. You can for instance use this when playing a silent animation + * through this class, and you don't want to affect other audio applications playing in the + * background. + * + * @param focusGain the type of audio focus gain that will be requested, or + * {@link AudioManager#AUDIOFOCUS_NONE} to disable the use audio focus during + * playback. + */ + public void setAudioFocusRequest(int focusGain) { + mProvider.setAudioFocusRequest_impl(focusGain); + } + + /** * Sets ordered list of {@link CommandButton} for controllers to build UI with it. * <p> * It's up to controller's decision how to represent the layout in its own UI. diff --git a/media/java/android/media/update/MediaSession2Provider.java b/media/java/android/media/update/MediaSession2Provider.java index 402397e6916b..af4662801815 100644 --- a/media/java/android/media/update/MediaSession2Provider.java +++ b/media/java/android/media/update/MediaSession2Provider.java @@ -16,6 +16,7 @@ package android.media.update; +import android.media.AudioAttributes; import android.media.MediaPlayerBase; import android.media.MediaSession2.CommandButton; import android.media.MediaSession2.ControllerInfo; @@ -35,6 +36,8 @@ public interface MediaSession2Provider extends TransportControlProvider { SessionToken getToken_impl(); List<ControllerInfo> getConnectedControllers_impl(); void setCustomLayout_impl(ControllerInfo controller, List<CommandButton> layout); + void setAudioAttributes_impl(AudioAttributes attributes); + void setAudioFocusRequest_impl(int focusGain); /** * @hide |