Loading api/current.txt +0 −240 Original line number Diff line number Diff line Loading @@ -23776,27 +23776,6 @@ package android.media { field public static final int QUALITY_MEDIUM = 1; // 0x1 } public class DataSourceDesc { method public long getEndPosition(); method @Nullable public String getMediaId(); method public long getStartPosition(); field public static final long LONG_MAX_TIME_MS = 576460752303423L; // 0x20c49ba5e353fL field public static final long POSITION_UNKNOWN = 576460752303423L; // 0x20c49ba5e353fL } public static final class DataSourceDesc.Builder { ctor public DataSourceDesc.Builder(); ctor public DataSourceDesc.Builder(@Nullable android.media.DataSourceDesc); method @NonNull public android.media.DataSourceDesc build(); method @NonNull public android.media.DataSourceDesc.Builder setDataSource(@NonNull android.net.Uri); method @NonNull public android.media.DataSourceDesc.Builder setDataSource(@NonNull android.net.Uri, @Nullable java.util.Map<java.lang.String,java.lang.String>, @Nullable java.util.List<java.net.HttpCookie>); method @NonNull public android.media.DataSourceDesc.Builder setDataSource(@NonNull android.os.ParcelFileDescriptor); method @NonNull public android.media.DataSourceDesc.Builder setDataSource(@NonNull android.os.ParcelFileDescriptor, long, long); method @NonNull public android.media.DataSourceDesc.Builder setEndPosition(long); method @NonNull public android.media.DataSourceDesc.Builder setMediaId(@Nullable String); method @NonNull public android.media.DataSourceDesc.Builder setStartPosition(long); } public final class DeniedByServerException extends android.media.MediaDrmException { ctor public DeniedByServerException(String); } Loading Loading @@ -25555,225 +25534,6 @@ package android.media { field public static final int MEDIA_TRACK_TYPE_VIDEO = 1; // 0x1 } public class MediaPlayer2 implements android.media.AudioRouting java.lang.AutoCloseable { ctor public MediaPlayer2(@NonNull android.content.Context); method public void addOnRoutingChangedListener(@NonNull android.media.AudioRouting.OnRoutingChangedListener, @Nullable android.os.Handler); method @NonNull public Object attachAuxEffect(int); method public boolean cancelCommand(@NonNull Object); method public void clearDrmEventCallback(); method @NonNull public Object clearNextDataSources(); method public void clearPendingCommands(); method public void close(); method @NonNull public Object deselectTrack(@NonNull android.media.MediaPlayer2.TrackInfo); method @NonNull public Object deselectTrack(@NonNull android.media.DataSourceDesc, @NonNull android.media.MediaPlayer2.TrackInfo); method @NonNull public android.media.AudioAttributes getAudioAttributes(); method public int getAudioSessionId(); method public long getBufferedPosition(); method public long getBufferedPosition(@NonNull android.media.DataSourceDesc); method @Nullable public android.media.DataSourceDesc getCurrentDataSource(); method public long getCurrentPosition(); method public long getDuration(); method public long getDuration(@NonNull android.media.DataSourceDesc); method public float getMaxPlayerVolume(); method @Nullable public android.os.PersistableBundle getMetrics(); method @NonNull public android.media.PlaybackParams getPlaybackParams(); method public float getPlayerVolume(); method @Nullable public android.media.AudioDeviceInfo getPreferredDevice(); method @Nullable public android.media.AudioDeviceInfo getRoutedDevice(); method @Nullable public android.media.MediaPlayer2.TrackInfo getSelectedTrack(int); method @Nullable public android.media.MediaPlayer2.TrackInfo getSelectedTrack(@NonNull android.media.DataSourceDesc, int); method public int getState(); method @NonNull public android.media.SyncParams getSyncParams(); method @Nullable public android.media.MediaTimestamp getTimestamp(); method @NonNull public java.util.List<android.media.MediaPlayer2.TrackInfo> getTrackInfo(); method @NonNull public java.util.List<android.media.MediaPlayer2.TrackInfo> getTrackInfo(@NonNull android.media.DataSourceDesc); method @NonNull public android.util.Size getVideoSize(); method public boolean isLooping(); method @NonNull public Object loopCurrent(boolean); method @NonNull public Object notifyWhenCommandLabelReached(@NonNull Object); method @NonNull public Object pause(); method @NonNull public Object play(); method @NonNull public Object prepare(); method public void registerEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaPlayer2.EventCallback); method public void removeOnRoutingChangedListener(@NonNull android.media.AudioRouting.OnRoutingChangedListener); method public void reset(); method @NonNull public Object seekTo(long); method @NonNull public Object seekTo(long, int); method @NonNull public Object selectTrack(@NonNull android.media.MediaPlayer2.TrackInfo); method @NonNull public Object selectTrack(@NonNull android.media.DataSourceDesc, @NonNull android.media.MediaPlayer2.TrackInfo); method @NonNull public Object setAudioAttributes(@NonNull android.media.AudioAttributes); method @NonNull public Object setAudioSessionId(int); method @NonNull public Object setAuxEffectSendLevel(float); method @NonNull public Object setDataSource(@NonNull android.media.DataSourceDesc); method @NonNull public Object setDisplay(@Nullable android.view.SurfaceHolder); method public void setDrmEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaPlayer2.DrmEventCallback); method @NonNull public Object setNextDataSource(@NonNull android.media.DataSourceDesc); method @NonNull public Object setNextDataSources(@NonNull java.util.List<android.media.DataSourceDesc>); method @NonNull public Object setPlaybackParams(@NonNull android.media.PlaybackParams); method @NonNull public Object setPlayerVolume(float); method public boolean setPreferredDevice(@Nullable android.media.AudioDeviceInfo); method @NonNull public Object setScreenOnWhilePlaying(boolean); method @NonNull public Object setSurface(@Nullable android.view.Surface); method @NonNull public Object setSyncParams(@NonNull android.media.SyncParams); method @NonNull public Object setWakeLock(@NonNull android.os.PowerManager.WakeLock); method @NonNull public Object skipToNext(); method public void unregisterEventCallback(@NonNull android.media.MediaPlayer2.EventCallback); field public static final int CALL_COMPLETED_ATTACH_AUX_EFFECT = 1; // 0x1 field public static final int CALL_COMPLETED_CLEAR_NEXT_DATA_SOURCES = 30; // 0x1e field public static final int CALL_COMPLETED_DESELECT_TRACK = 2; // 0x2 field public static final int CALL_COMPLETED_LOOP_CURRENT = 3; // 0x3 field public static final int CALL_COMPLETED_PAUSE = 4; // 0x4 field public static final int CALL_COMPLETED_PLAY = 5; // 0x5 field public static final int CALL_COMPLETED_PREPARE = 6; // 0x6 field public static final int CALL_COMPLETED_SEEK_TO = 14; // 0xe field public static final int CALL_COMPLETED_SELECT_TRACK = 15; // 0xf field public static final int CALL_COMPLETED_SET_AUDIO_ATTRIBUTES = 16; // 0x10 field public static final int CALL_COMPLETED_SET_AUDIO_SESSION_ID = 17; // 0x11 field public static final int CALL_COMPLETED_SET_AUX_EFFECT_SEND_LEVEL = 18; // 0x12 field public static final int CALL_COMPLETED_SET_DATA_SOURCE = 19; // 0x13 field public static final int CALL_COMPLETED_SET_DISPLAY = 33; // 0x21 field public static final int CALL_COMPLETED_SET_NEXT_DATA_SOURCE = 22; // 0x16 field public static final int CALL_COMPLETED_SET_NEXT_DATA_SOURCES = 23; // 0x17 field public static final int CALL_COMPLETED_SET_PLAYBACK_PARAMS = 24; // 0x18 field public static final int CALL_COMPLETED_SET_PLAYER_VOLUME = 26; // 0x1a field public static final int CALL_COMPLETED_SET_SCREEN_ON_WHILE_PLAYING = 35; // 0x23 field public static final int CALL_COMPLETED_SET_SURFACE = 27; // 0x1b field public static final int CALL_COMPLETED_SET_SYNC_PARAMS = 28; // 0x1c field public static final int CALL_COMPLETED_SET_WAKE_LOCK = 34; // 0x22 field public static final int CALL_COMPLETED_SKIP_TO_NEXT = 29; // 0x1d field public static final int CALL_STATUS_BAD_VALUE = 2; // 0x2 field public static final int CALL_STATUS_ERROR_IO = 4; // 0x4 field public static final int CALL_STATUS_ERROR_UNKNOWN = -2147483648; // 0x80000000 field public static final int CALL_STATUS_INVALID_OPERATION = 1; // 0x1 field public static final int CALL_STATUS_NO_DRM_SCHEME = 6; // 0x6 field public static final int CALL_STATUS_NO_ERROR = 0; // 0x0 field public static final int CALL_STATUS_PERMISSION_DENIED = 3; // 0x3 field public static final int CALL_STATUS_SKIPPED = 5; // 0x5 field public static final int MEDIA_ERROR_IO = -1004; // 0xfffffc14 field public static final int MEDIA_ERROR_MALFORMED = -1007; // 0xfffffc11 field public static final int MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK = 200; // 0xc8 field public static final int MEDIA_ERROR_TIMED_OUT = -110; // 0xffffff92 field public static final int MEDIA_ERROR_UNKNOWN = 1; // 0x1 field public static final int MEDIA_ERROR_UNSUPPORTED = -1010; // 0xfffffc0e field public static final int MEDIA_INFO_AUDIO_NOT_PLAYING = 804; // 0x324 field public static final int MEDIA_INFO_AUDIO_RENDERING_START = 4; // 0x4 field public static final int MEDIA_INFO_BAD_INTERLEAVING = 800; // 0x320 field public static final int MEDIA_INFO_BUFFERING_END = 702; // 0x2be field public static final int MEDIA_INFO_BUFFERING_START = 701; // 0x2bd field public static final int MEDIA_INFO_BUFFERING_UPDATE = 704; // 0x2c0 field public static final int MEDIA_INFO_DATA_SOURCE_END = 5; // 0x5 field public static final int MEDIA_INFO_DATA_SOURCE_LIST_END = 6; // 0x6 field public static final int MEDIA_INFO_DATA_SOURCE_REPEAT = 7; // 0x7 field public static final int MEDIA_INFO_DATA_SOURCE_START = 2; // 0x2 field public static final int MEDIA_INFO_METADATA_UPDATE = 802; // 0x322 field public static final int MEDIA_INFO_NOT_SEEKABLE = 801; // 0x321 field public static final int MEDIA_INFO_PREPARED = 100; // 0x64 field public static final int MEDIA_INFO_SUBTITLE_TIMED_OUT = 902; // 0x386 field public static final int MEDIA_INFO_UNKNOWN = 1; // 0x1 field public static final int MEDIA_INFO_UNSUPPORTED_SUBTITLE = 901; // 0x385 field public static final int MEDIA_INFO_VIDEO_NOT_PLAYING = 805; // 0x325 field public static final int MEDIA_INFO_VIDEO_RENDERING_START = 3; // 0x3 field public static final int MEDIA_INFO_VIDEO_TRACK_LAGGING = 700; // 0x2bc field public static final int PLAYER_STATE_ERROR = 1005; // 0x3ed field public static final int PLAYER_STATE_IDLE = 1001; // 0x3e9 field public static final int PLAYER_STATE_PAUSED = 1003; // 0x3eb field public static final int PLAYER_STATE_PLAYING = 1004; // 0x3ec field public static final int PLAYER_STATE_PREPARED = 1002; // 0x3ea field public static final int PREPARE_DRM_STATUS_KEY_EXCHANGE_ERROR = 7; // 0x7 field public static final int PREPARE_DRM_STATUS_PREPARATION_ERROR = 3; // 0x3 field public static final int PREPARE_DRM_STATUS_PROVISIONING_NETWORK_ERROR = 1; // 0x1 field public static final int PREPARE_DRM_STATUS_PROVISIONING_SERVER_ERROR = 2; // 0x2 field public static final int PREPARE_DRM_STATUS_RESOURCE_BUSY = 5; // 0x5 field public static final int PREPARE_DRM_STATUS_RESTORE_ERROR = 6; // 0x6 field public static final int PREPARE_DRM_STATUS_SUCCESS = 0; // 0x0 field public static final int PREPARE_DRM_STATUS_UNSUPPORTED_SCHEME = 4; // 0x4 field public static final int SEEK_CLOSEST = 3; // 0x3 field public static final int SEEK_CLOSEST_SYNC = 2; // 0x2 field public static final int SEEK_NEXT_SYNC = 1; // 0x1 field public static final int SEEK_PREVIOUS_SYNC = 0; // 0x0 } public abstract static class MediaPlayer2.DrmEventCallback { ctor public MediaPlayer2.DrmEventCallback(); method public void onDrmConfig(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaDrm); method @Nullable public abstract android.media.MediaPlayer2.DrmPreparationInfo onDrmInfo(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaPlayer2.DrmInfo); method @NonNull public abstract byte[] onDrmKeyRequest(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaDrm.KeyRequest); method public void onDrmPrepared(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, int, @Nullable byte[]); } public static final class MediaPlayer2.DrmInfo { method @NonNull public java.util.Map<java.util.UUID,byte[]> getPssh(); method @NonNull public java.util.List<java.util.UUID> getSupportedSchemes(); } public static final class MediaPlayer2.DrmPreparationInfo { method @Nullable public byte[] getInitData(); method @Nullable public byte[] getKeySetId(); method public int getKeyType(); method @Nullable public String getMimeType(); method @Nullable public java.util.Map<java.lang.String,java.lang.String> getOptionalParameters(); method @NonNull public java.util.UUID getUuid(); } public static final class MediaPlayer2.DrmPreparationInfo.Builder { ctor public MediaPlayer2.DrmPreparationInfo.Builder(@NonNull java.util.UUID); method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo build(); method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setInitData(@Nullable byte[]); method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setKeySetId(@Nullable byte[]); method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setKeyType(int); method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setMimeType(@Nullable String); method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setOptionalParameters(@Nullable java.util.Map<java.lang.String,java.lang.String>); } public static class MediaPlayer2.EventCallback { ctor public MediaPlayer2.EventCallback(); method public void onCallCompleted(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, int, int); method public void onCommandLabelReached(@NonNull android.media.MediaPlayer2, @NonNull Object); method public void onError(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, int, int); method public void onInfo(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, int, int); method public void onMediaTimeDiscontinuity(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaTimestamp); method public void onSubtitleData(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaPlayer2.SubtitleData); method public void onTimedMetaDataAvailable(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.TimedMetaData); method public void onVideoSizeChanged(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.util.Size); } public static final class MediaPlayer2.MetricsConstants { field public static final String CODEC_AUDIO = "android.media.mediaplayer.audio.codec"; field public static final String CODEC_VIDEO = "android.media.mediaplayer.video.codec"; field public static final String DURATION = "android.media.mediaplayer.durationMs"; field public static final String ERRORS = "android.media.mediaplayer.err"; field public static final String ERROR_CODE = "android.media.mediaplayer.errcode"; field public static final String FRAMES = "android.media.mediaplayer.frames"; field public static final String FRAMES_DROPPED = "android.media.mediaplayer.dropped"; field public static final String HEIGHT = "android.media.mediaplayer.height"; field public static final String MIME_TYPE_AUDIO = "android.media.mediaplayer.audio.mime"; field public static final String MIME_TYPE_VIDEO = "android.media.mediaplayer.video.mime"; field public static final String PLAYING = "android.media.mediaplayer.playingMs"; field public static final String WIDTH = "android.media.mediaplayer.width"; } public static final class MediaPlayer2.NoDrmSchemeException extends android.media.MediaDrmException { ctor public MediaPlayer2.NoDrmSchemeException(@Nullable String); } public static final class MediaPlayer2.SubtitleData { method @NonNull public byte[] getData(); method public long getDurationUs(); method public long getStartTimeUs(); method @NonNull public android.media.MediaPlayer2.TrackInfo getTrackInfo(); } public static class MediaPlayer2.TrackInfo { method @Nullable public android.media.MediaFormat getFormat(); method @NonNull public String getLanguage(); method public int getTrackType(); field public static final int MEDIA_TRACK_TYPE_AUDIO = 2; // 0x2 field public static final int MEDIA_TRACK_TYPE_METADATA = 5; // 0x5 field public static final int MEDIA_TRACK_TYPE_SUBTITLE = 4; // 0x4 field public static final int MEDIA_TRACK_TYPE_UNKNOWN = 0; // 0x0 field public static final int MEDIA_TRACK_TYPE_VIDEO = 1; // 0x1 } public class MediaRecorder implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection { ctor public MediaRecorder(); method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler); api/test-current.txt +0 −24 Original line number Diff line number Diff line Loading @@ -1124,13 +1124,6 @@ package android.media { method public android.media.BufferingParams.Builder setResumePlaybackMarkMs(int); } public class FileDataSourceDesc extends android.media.DataSourceDesc { method public long getLength(); method public long getOffset(); method @NonNull public android.os.ParcelFileDescriptor getParcelFileDescriptor(); field public static final long FD_LENGTH_UNKNOWN = 576460752303423487L; // 0x7ffffffffffffffL } public static final class MediaCodecInfo.VideoCapabilities.PerformancePoint { ctor public MediaCodecInfo.VideoCapabilities.PerformancePoint(int, int, int, int, @NonNull android.util.Size); ctor public MediaCodecInfo.VideoCapabilities.PerformancePoint(@NonNull android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint, @NonNull android.util.Size); Loading @@ -1139,28 +1132,11 @@ package android.media { method public int getMaxMacroBlocks(); } public class MediaPlayer2 implements android.media.AudioRouting java.lang.AutoCloseable { method public android.media.MediaPlayer2.DrmInfo getDrmInfo(@NonNull android.media.DataSourceDesc); method public android.media.MediaDrm.KeyRequest getDrmKeyRequest(@NonNull android.media.DataSourceDesc, @Nullable byte[], @Nullable byte[], @Nullable String, int, @Nullable java.util.Map<java.lang.String,java.lang.String>) throws android.media.MediaPlayer2.NoDrmSchemeException; method public String getDrmPropertyString(@NonNull android.media.DataSourceDesc, @NonNull String) throws android.media.MediaPlayer2.NoDrmSchemeException; method @NonNull public Object prepareDrm(@NonNull android.media.DataSourceDesc, @NonNull java.util.UUID); method public byte[] provideDrmKeyResponse(@NonNull android.media.DataSourceDesc, @Nullable byte[], @NonNull byte[]) throws android.media.DeniedByServerException, android.media.MediaPlayer2.NoDrmSchemeException; method public void releaseDrm(@NonNull android.media.DataSourceDesc) throws android.media.MediaPlayer2.NoDrmSchemeException; method public void restoreDrmKeys(@NonNull android.media.DataSourceDesc, @NonNull byte[]) throws android.media.MediaPlayer2.NoDrmSchemeException; method public void setDrmPropertyString(@NonNull android.media.DataSourceDesc, @NonNull String, @NonNull String) throws android.media.MediaPlayer2.NoDrmSchemeException; } public final class PlaybackParams implements android.os.Parcelable { method public int getAudioStretchMode(); method public android.media.PlaybackParams setAudioStretchMode(int); } public class UriDataSourceDesc extends android.media.DataSourceDesc { method @Nullable public java.util.List<java.net.HttpCookie> getCookies(); method @Nullable public java.util.Map<java.lang.String,java.lang.String> getHeaders(); method @NonNull public android.net.Uri getUri(); } public static final class VolumeShaper.Configuration.Builder { method @NonNull public android.media.VolumeShaper.Configuration.Builder setOptionFlags(int); } Loading media/apex/java/android/media/DataSourceDesc.java +2 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,8 @@ import java.util.Map; * * Used by {@link MediaPlayer2#setDataSource}, {@link MediaPlayer2#setNextDataSource} and * {@link MediaPlayer2#setNextDataSources} to set data source for playback. * * @hide */ public class DataSourceDesc { // intentionally less than long.MAX_VALUE Loading media/apex/java/android/media/FileDataSourceDesc.java +0 −2 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package android.media; import android.annotation.NonNull; import android.annotation.TestApi; import android.os.ParcelFileDescriptor; import android.util.Log; Loading @@ -32,7 +31,6 @@ import java.io.IOException; * <p>Users should use {@link Builder} to create {@link FileDataSourceDesc}. * @hide */ @TestApi public class FileDataSourceDesc extends DataSourceDesc { private static final String TAG = "FileDataSourceDesc"; Loading media/apex/java/android/media/MediaPlayer2.java +2 −0 Original line number Diff line number Diff line Loading @@ -273,6 +273,8 @@ import java.util.concurrent.atomic.AtomicLong; * Then check the <code>status</code> parameter. The value {@link #CALL_STATUS_NO_ERROR} indicates a * successful transition. Any other value will be an error. Call {@link #getState()} to * determine the current state. </p> * * @hide */ public class MediaPlayer2 implements AutoCloseable, AudioRouting { static { Loading Loading
api/current.txt +0 −240 Original line number Diff line number Diff line Loading @@ -23776,27 +23776,6 @@ package android.media { field public static final int QUALITY_MEDIUM = 1; // 0x1 } public class DataSourceDesc { method public long getEndPosition(); method @Nullable public String getMediaId(); method public long getStartPosition(); field public static final long LONG_MAX_TIME_MS = 576460752303423L; // 0x20c49ba5e353fL field public static final long POSITION_UNKNOWN = 576460752303423L; // 0x20c49ba5e353fL } public static final class DataSourceDesc.Builder { ctor public DataSourceDesc.Builder(); ctor public DataSourceDesc.Builder(@Nullable android.media.DataSourceDesc); method @NonNull public android.media.DataSourceDesc build(); method @NonNull public android.media.DataSourceDesc.Builder setDataSource(@NonNull android.net.Uri); method @NonNull public android.media.DataSourceDesc.Builder setDataSource(@NonNull android.net.Uri, @Nullable java.util.Map<java.lang.String,java.lang.String>, @Nullable java.util.List<java.net.HttpCookie>); method @NonNull public android.media.DataSourceDesc.Builder setDataSource(@NonNull android.os.ParcelFileDescriptor); method @NonNull public android.media.DataSourceDesc.Builder setDataSource(@NonNull android.os.ParcelFileDescriptor, long, long); method @NonNull public android.media.DataSourceDesc.Builder setEndPosition(long); method @NonNull public android.media.DataSourceDesc.Builder setMediaId(@Nullable String); method @NonNull public android.media.DataSourceDesc.Builder setStartPosition(long); } public final class DeniedByServerException extends android.media.MediaDrmException { ctor public DeniedByServerException(String); } Loading Loading @@ -25555,225 +25534,6 @@ package android.media { field public static final int MEDIA_TRACK_TYPE_VIDEO = 1; // 0x1 } public class MediaPlayer2 implements android.media.AudioRouting java.lang.AutoCloseable { ctor public MediaPlayer2(@NonNull android.content.Context); method public void addOnRoutingChangedListener(@NonNull android.media.AudioRouting.OnRoutingChangedListener, @Nullable android.os.Handler); method @NonNull public Object attachAuxEffect(int); method public boolean cancelCommand(@NonNull Object); method public void clearDrmEventCallback(); method @NonNull public Object clearNextDataSources(); method public void clearPendingCommands(); method public void close(); method @NonNull public Object deselectTrack(@NonNull android.media.MediaPlayer2.TrackInfo); method @NonNull public Object deselectTrack(@NonNull android.media.DataSourceDesc, @NonNull android.media.MediaPlayer2.TrackInfo); method @NonNull public android.media.AudioAttributes getAudioAttributes(); method public int getAudioSessionId(); method public long getBufferedPosition(); method public long getBufferedPosition(@NonNull android.media.DataSourceDesc); method @Nullable public android.media.DataSourceDesc getCurrentDataSource(); method public long getCurrentPosition(); method public long getDuration(); method public long getDuration(@NonNull android.media.DataSourceDesc); method public float getMaxPlayerVolume(); method @Nullable public android.os.PersistableBundle getMetrics(); method @NonNull public android.media.PlaybackParams getPlaybackParams(); method public float getPlayerVolume(); method @Nullable public android.media.AudioDeviceInfo getPreferredDevice(); method @Nullable public android.media.AudioDeviceInfo getRoutedDevice(); method @Nullable public android.media.MediaPlayer2.TrackInfo getSelectedTrack(int); method @Nullable public android.media.MediaPlayer2.TrackInfo getSelectedTrack(@NonNull android.media.DataSourceDesc, int); method public int getState(); method @NonNull public android.media.SyncParams getSyncParams(); method @Nullable public android.media.MediaTimestamp getTimestamp(); method @NonNull public java.util.List<android.media.MediaPlayer2.TrackInfo> getTrackInfo(); method @NonNull public java.util.List<android.media.MediaPlayer2.TrackInfo> getTrackInfo(@NonNull android.media.DataSourceDesc); method @NonNull public android.util.Size getVideoSize(); method public boolean isLooping(); method @NonNull public Object loopCurrent(boolean); method @NonNull public Object notifyWhenCommandLabelReached(@NonNull Object); method @NonNull public Object pause(); method @NonNull public Object play(); method @NonNull public Object prepare(); method public void registerEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaPlayer2.EventCallback); method public void removeOnRoutingChangedListener(@NonNull android.media.AudioRouting.OnRoutingChangedListener); method public void reset(); method @NonNull public Object seekTo(long); method @NonNull public Object seekTo(long, int); method @NonNull public Object selectTrack(@NonNull android.media.MediaPlayer2.TrackInfo); method @NonNull public Object selectTrack(@NonNull android.media.DataSourceDesc, @NonNull android.media.MediaPlayer2.TrackInfo); method @NonNull public Object setAudioAttributes(@NonNull android.media.AudioAttributes); method @NonNull public Object setAudioSessionId(int); method @NonNull public Object setAuxEffectSendLevel(float); method @NonNull public Object setDataSource(@NonNull android.media.DataSourceDesc); method @NonNull public Object setDisplay(@Nullable android.view.SurfaceHolder); method public void setDrmEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaPlayer2.DrmEventCallback); method @NonNull public Object setNextDataSource(@NonNull android.media.DataSourceDesc); method @NonNull public Object setNextDataSources(@NonNull java.util.List<android.media.DataSourceDesc>); method @NonNull public Object setPlaybackParams(@NonNull android.media.PlaybackParams); method @NonNull public Object setPlayerVolume(float); method public boolean setPreferredDevice(@Nullable android.media.AudioDeviceInfo); method @NonNull public Object setScreenOnWhilePlaying(boolean); method @NonNull public Object setSurface(@Nullable android.view.Surface); method @NonNull public Object setSyncParams(@NonNull android.media.SyncParams); method @NonNull public Object setWakeLock(@NonNull android.os.PowerManager.WakeLock); method @NonNull public Object skipToNext(); method public void unregisterEventCallback(@NonNull android.media.MediaPlayer2.EventCallback); field public static final int CALL_COMPLETED_ATTACH_AUX_EFFECT = 1; // 0x1 field public static final int CALL_COMPLETED_CLEAR_NEXT_DATA_SOURCES = 30; // 0x1e field public static final int CALL_COMPLETED_DESELECT_TRACK = 2; // 0x2 field public static final int CALL_COMPLETED_LOOP_CURRENT = 3; // 0x3 field public static final int CALL_COMPLETED_PAUSE = 4; // 0x4 field public static final int CALL_COMPLETED_PLAY = 5; // 0x5 field public static final int CALL_COMPLETED_PREPARE = 6; // 0x6 field public static final int CALL_COMPLETED_SEEK_TO = 14; // 0xe field public static final int CALL_COMPLETED_SELECT_TRACK = 15; // 0xf field public static final int CALL_COMPLETED_SET_AUDIO_ATTRIBUTES = 16; // 0x10 field public static final int CALL_COMPLETED_SET_AUDIO_SESSION_ID = 17; // 0x11 field public static final int CALL_COMPLETED_SET_AUX_EFFECT_SEND_LEVEL = 18; // 0x12 field public static final int CALL_COMPLETED_SET_DATA_SOURCE = 19; // 0x13 field public static final int CALL_COMPLETED_SET_DISPLAY = 33; // 0x21 field public static final int CALL_COMPLETED_SET_NEXT_DATA_SOURCE = 22; // 0x16 field public static final int CALL_COMPLETED_SET_NEXT_DATA_SOURCES = 23; // 0x17 field public static final int CALL_COMPLETED_SET_PLAYBACK_PARAMS = 24; // 0x18 field public static final int CALL_COMPLETED_SET_PLAYER_VOLUME = 26; // 0x1a field public static final int CALL_COMPLETED_SET_SCREEN_ON_WHILE_PLAYING = 35; // 0x23 field public static final int CALL_COMPLETED_SET_SURFACE = 27; // 0x1b field public static final int CALL_COMPLETED_SET_SYNC_PARAMS = 28; // 0x1c field public static final int CALL_COMPLETED_SET_WAKE_LOCK = 34; // 0x22 field public static final int CALL_COMPLETED_SKIP_TO_NEXT = 29; // 0x1d field public static final int CALL_STATUS_BAD_VALUE = 2; // 0x2 field public static final int CALL_STATUS_ERROR_IO = 4; // 0x4 field public static final int CALL_STATUS_ERROR_UNKNOWN = -2147483648; // 0x80000000 field public static final int CALL_STATUS_INVALID_OPERATION = 1; // 0x1 field public static final int CALL_STATUS_NO_DRM_SCHEME = 6; // 0x6 field public static final int CALL_STATUS_NO_ERROR = 0; // 0x0 field public static final int CALL_STATUS_PERMISSION_DENIED = 3; // 0x3 field public static final int CALL_STATUS_SKIPPED = 5; // 0x5 field public static final int MEDIA_ERROR_IO = -1004; // 0xfffffc14 field public static final int MEDIA_ERROR_MALFORMED = -1007; // 0xfffffc11 field public static final int MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK = 200; // 0xc8 field public static final int MEDIA_ERROR_TIMED_OUT = -110; // 0xffffff92 field public static final int MEDIA_ERROR_UNKNOWN = 1; // 0x1 field public static final int MEDIA_ERROR_UNSUPPORTED = -1010; // 0xfffffc0e field public static final int MEDIA_INFO_AUDIO_NOT_PLAYING = 804; // 0x324 field public static final int MEDIA_INFO_AUDIO_RENDERING_START = 4; // 0x4 field public static final int MEDIA_INFO_BAD_INTERLEAVING = 800; // 0x320 field public static final int MEDIA_INFO_BUFFERING_END = 702; // 0x2be field public static final int MEDIA_INFO_BUFFERING_START = 701; // 0x2bd field public static final int MEDIA_INFO_BUFFERING_UPDATE = 704; // 0x2c0 field public static final int MEDIA_INFO_DATA_SOURCE_END = 5; // 0x5 field public static final int MEDIA_INFO_DATA_SOURCE_LIST_END = 6; // 0x6 field public static final int MEDIA_INFO_DATA_SOURCE_REPEAT = 7; // 0x7 field public static final int MEDIA_INFO_DATA_SOURCE_START = 2; // 0x2 field public static final int MEDIA_INFO_METADATA_UPDATE = 802; // 0x322 field public static final int MEDIA_INFO_NOT_SEEKABLE = 801; // 0x321 field public static final int MEDIA_INFO_PREPARED = 100; // 0x64 field public static final int MEDIA_INFO_SUBTITLE_TIMED_OUT = 902; // 0x386 field public static final int MEDIA_INFO_UNKNOWN = 1; // 0x1 field public static final int MEDIA_INFO_UNSUPPORTED_SUBTITLE = 901; // 0x385 field public static final int MEDIA_INFO_VIDEO_NOT_PLAYING = 805; // 0x325 field public static final int MEDIA_INFO_VIDEO_RENDERING_START = 3; // 0x3 field public static final int MEDIA_INFO_VIDEO_TRACK_LAGGING = 700; // 0x2bc field public static final int PLAYER_STATE_ERROR = 1005; // 0x3ed field public static final int PLAYER_STATE_IDLE = 1001; // 0x3e9 field public static final int PLAYER_STATE_PAUSED = 1003; // 0x3eb field public static final int PLAYER_STATE_PLAYING = 1004; // 0x3ec field public static final int PLAYER_STATE_PREPARED = 1002; // 0x3ea field public static final int PREPARE_DRM_STATUS_KEY_EXCHANGE_ERROR = 7; // 0x7 field public static final int PREPARE_DRM_STATUS_PREPARATION_ERROR = 3; // 0x3 field public static final int PREPARE_DRM_STATUS_PROVISIONING_NETWORK_ERROR = 1; // 0x1 field public static final int PREPARE_DRM_STATUS_PROVISIONING_SERVER_ERROR = 2; // 0x2 field public static final int PREPARE_DRM_STATUS_RESOURCE_BUSY = 5; // 0x5 field public static final int PREPARE_DRM_STATUS_RESTORE_ERROR = 6; // 0x6 field public static final int PREPARE_DRM_STATUS_SUCCESS = 0; // 0x0 field public static final int PREPARE_DRM_STATUS_UNSUPPORTED_SCHEME = 4; // 0x4 field public static final int SEEK_CLOSEST = 3; // 0x3 field public static final int SEEK_CLOSEST_SYNC = 2; // 0x2 field public static final int SEEK_NEXT_SYNC = 1; // 0x1 field public static final int SEEK_PREVIOUS_SYNC = 0; // 0x0 } public abstract static class MediaPlayer2.DrmEventCallback { ctor public MediaPlayer2.DrmEventCallback(); method public void onDrmConfig(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaDrm); method @Nullable public abstract android.media.MediaPlayer2.DrmPreparationInfo onDrmInfo(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaPlayer2.DrmInfo); method @NonNull public abstract byte[] onDrmKeyRequest(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaDrm.KeyRequest); method public void onDrmPrepared(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, int, @Nullable byte[]); } public static final class MediaPlayer2.DrmInfo { method @NonNull public java.util.Map<java.util.UUID,byte[]> getPssh(); method @NonNull public java.util.List<java.util.UUID> getSupportedSchemes(); } public static final class MediaPlayer2.DrmPreparationInfo { method @Nullable public byte[] getInitData(); method @Nullable public byte[] getKeySetId(); method public int getKeyType(); method @Nullable public String getMimeType(); method @Nullable public java.util.Map<java.lang.String,java.lang.String> getOptionalParameters(); method @NonNull public java.util.UUID getUuid(); } public static final class MediaPlayer2.DrmPreparationInfo.Builder { ctor public MediaPlayer2.DrmPreparationInfo.Builder(@NonNull java.util.UUID); method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo build(); method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setInitData(@Nullable byte[]); method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setKeySetId(@Nullable byte[]); method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setKeyType(int); method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setMimeType(@Nullable String); method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setOptionalParameters(@Nullable java.util.Map<java.lang.String,java.lang.String>); } public static class MediaPlayer2.EventCallback { ctor public MediaPlayer2.EventCallback(); method public void onCallCompleted(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, int, int); method public void onCommandLabelReached(@NonNull android.media.MediaPlayer2, @NonNull Object); method public void onError(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, int, int); method public void onInfo(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, int, int); method public void onMediaTimeDiscontinuity(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaTimestamp); method public void onSubtitleData(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaPlayer2.SubtitleData); method public void onTimedMetaDataAvailable(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.TimedMetaData); method public void onVideoSizeChanged(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.util.Size); } public static final class MediaPlayer2.MetricsConstants { field public static final String CODEC_AUDIO = "android.media.mediaplayer.audio.codec"; field public static final String CODEC_VIDEO = "android.media.mediaplayer.video.codec"; field public static final String DURATION = "android.media.mediaplayer.durationMs"; field public static final String ERRORS = "android.media.mediaplayer.err"; field public static final String ERROR_CODE = "android.media.mediaplayer.errcode"; field public static final String FRAMES = "android.media.mediaplayer.frames"; field public static final String FRAMES_DROPPED = "android.media.mediaplayer.dropped"; field public static final String HEIGHT = "android.media.mediaplayer.height"; field public static final String MIME_TYPE_AUDIO = "android.media.mediaplayer.audio.mime"; field public static final String MIME_TYPE_VIDEO = "android.media.mediaplayer.video.mime"; field public static final String PLAYING = "android.media.mediaplayer.playingMs"; field public static final String WIDTH = "android.media.mediaplayer.width"; } public static final class MediaPlayer2.NoDrmSchemeException extends android.media.MediaDrmException { ctor public MediaPlayer2.NoDrmSchemeException(@Nullable String); } public static final class MediaPlayer2.SubtitleData { method @NonNull public byte[] getData(); method public long getDurationUs(); method public long getStartTimeUs(); method @NonNull public android.media.MediaPlayer2.TrackInfo getTrackInfo(); } public static class MediaPlayer2.TrackInfo { method @Nullable public android.media.MediaFormat getFormat(); method @NonNull public String getLanguage(); method public int getTrackType(); field public static final int MEDIA_TRACK_TYPE_AUDIO = 2; // 0x2 field public static final int MEDIA_TRACK_TYPE_METADATA = 5; // 0x5 field public static final int MEDIA_TRACK_TYPE_SUBTITLE = 4; // 0x4 field public static final int MEDIA_TRACK_TYPE_UNKNOWN = 0; // 0x0 field public static final int MEDIA_TRACK_TYPE_VIDEO = 1; // 0x1 } public class MediaRecorder implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection { ctor public MediaRecorder(); method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler);
api/test-current.txt +0 −24 Original line number Diff line number Diff line Loading @@ -1124,13 +1124,6 @@ package android.media { method public android.media.BufferingParams.Builder setResumePlaybackMarkMs(int); } public class FileDataSourceDesc extends android.media.DataSourceDesc { method public long getLength(); method public long getOffset(); method @NonNull public android.os.ParcelFileDescriptor getParcelFileDescriptor(); field public static final long FD_LENGTH_UNKNOWN = 576460752303423487L; // 0x7ffffffffffffffL } public static final class MediaCodecInfo.VideoCapabilities.PerformancePoint { ctor public MediaCodecInfo.VideoCapabilities.PerformancePoint(int, int, int, int, @NonNull android.util.Size); ctor public MediaCodecInfo.VideoCapabilities.PerformancePoint(@NonNull android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint, @NonNull android.util.Size); Loading @@ -1139,28 +1132,11 @@ package android.media { method public int getMaxMacroBlocks(); } public class MediaPlayer2 implements android.media.AudioRouting java.lang.AutoCloseable { method public android.media.MediaPlayer2.DrmInfo getDrmInfo(@NonNull android.media.DataSourceDesc); method public android.media.MediaDrm.KeyRequest getDrmKeyRequest(@NonNull android.media.DataSourceDesc, @Nullable byte[], @Nullable byte[], @Nullable String, int, @Nullable java.util.Map<java.lang.String,java.lang.String>) throws android.media.MediaPlayer2.NoDrmSchemeException; method public String getDrmPropertyString(@NonNull android.media.DataSourceDesc, @NonNull String) throws android.media.MediaPlayer2.NoDrmSchemeException; method @NonNull public Object prepareDrm(@NonNull android.media.DataSourceDesc, @NonNull java.util.UUID); method public byte[] provideDrmKeyResponse(@NonNull android.media.DataSourceDesc, @Nullable byte[], @NonNull byte[]) throws android.media.DeniedByServerException, android.media.MediaPlayer2.NoDrmSchemeException; method public void releaseDrm(@NonNull android.media.DataSourceDesc) throws android.media.MediaPlayer2.NoDrmSchemeException; method public void restoreDrmKeys(@NonNull android.media.DataSourceDesc, @NonNull byte[]) throws android.media.MediaPlayer2.NoDrmSchemeException; method public void setDrmPropertyString(@NonNull android.media.DataSourceDesc, @NonNull String, @NonNull String) throws android.media.MediaPlayer2.NoDrmSchemeException; } public final class PlaybackParams implements android.os.Parcelable { method public int getAudioStretchMode(); method public android.media.PlaybackParams setAudioStretchMode(int); } public class UriDataSourceDesc extends android.media.DataSourceDesc { method @Nullable public java.util.List<java.net.HttpCookie> getCookies(); method @Nullable public java.util.Map<java.lang.String,java.lang.String> getHeaders(); method @NonNull public android.net.Uri getUri(); } public static final class VolumeShaper.Configuration.Builder { method @NonNull public android.media.VolumeShaper.Configuration.Builder setOptionFlags(int); } Loading
media/apex/java/android/media/DataSourceDesc.java +2 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,8 @@ import java.util.Map; * * Used by {@link MediaPlayer2#setDataSource}, {@link MediaPlayer2#setNextDataSource} and * {@link MediaPlayer2#setNextDataSources} to set data source for playback. * * @hide */ public class DataSourceDesc { // intentionally less than long.MAX_VALUE Loading
media/apex/java/android/media/FileDataSourceDesc.java +0 −2 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package android.media; import android.annotation.NonNull; import android.annotation.TestApi; import android.os.ParcelFileDescriptor; import android.util.Log; Loading @@ -32,7 +31,6 @@ import java.io.IOException; * <p>Users should use {@link Builder} to create {@link FileDataSourceDesc}. * @hide */ @TestApi public class FileDataSourceDesc extends DataSourceDesc { private static final String TAG = "FileDataSourceDesc"; Loading
media/apex/java/android/media/MediaPlayer2.java +2 −0 Original line number Diff line number Diff line Loading @@ -273,6 +273,8 @@ import java.util.concurrent.atomic.AtomicLong; * Then check the <code>status</code> parameter. The value {@link #CALL_STATUS_NO_ERROR} indicates a * successful transition. Any other value will be an error. Call {@link #getState()} to * determine the current state. </p> * * @hide */ public class MediaPlayer2 implements AutoCloseable, AudioRouting { static { Loading