Added in API level 31

PlaybackSession


class PlaybackSession : AutoCloseable
kotlin.Any
   ↳ android.media.metrics.PlaybackSession

An instance of this class represents a session of media playback used to report playback metrics and events. Create a new instance using MediaMetricsManager#createPlaybackSession.

Summary

Public methods
Unit

Boolean
equals(other: Any?)

Indicates whether some other object is "equal to" this one.

LogSessionId

A session ID is used to identify a unique playback and to tie together lower-level playback components.

Int

Unit

Reports network event.

Unit

Reports error event.

Unit

Reports playback metrics.

Unit

Reports playback state event.

Unit

Reports track change event.

Public methods

close

Added in API level 31
fun close(): Unit
Exceptions
java.lang.Exception if this resource cannot be closed

equals

Added in API level 31
fun equals(other: Any?): Boolean

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
obj the reference object with which to compare.
o This value may be null.
Return
Boolean true if this object is the same as the obj argument; false otherwise.

getSessionId

Added in API level 31
fun getSessionId(): LogSessionId

A session ID is used to identify a unique playback and to tie together lower-level playback components. Associate this session with a MediaCodec by passing the ID into MediaFormat through MediaFormat#LOG_SESSION_ID when creating the MediaCodec. Associate this session with an AudioTrack by calling AudioTrack#setLogSessionId. Associate this session with MediaDrm and MediaCrypto by calling MediaDrm#getPlaybackComponent and then calling PlaybackComponent#setLogSessionId.

Return
LogSessionId This value cannot be null.

hashCode

Added in API level 31
fun hashCode(): Int
Return
Int a hash code value for this object.

reportNetworkEvent

Added in API level 31
fun reportNetworkEvent(event: NetworkEvent): Unit

Reports network event.

Parameters
event NetworkEvent: This value cannot be null.

reportPlaybackErrorEvent

Added in API level 31
fun reportPlaybackErrorEvent(event: PlaybackErrorEvent): Unit

Reports error event.

Parameters
event PlaybackErrorEvent: This value cannot be null.

reportPlaybackMetrics

Added in API level 31
fun reportPlaybackMetrics(metrics: PlaybackMetrics): Unit

Reports playback metrics.

Parameters
metrics PlaybackMetrics: This value cannot be null.

reportPlaybackStateEvent

Added in API level 31
fun reportPlaybackStateEvent(event: PlaybackStateEvent): Unit

Reports playback state event.

Parameters
event PlaybackStateEvent: This value cannot be null.

reportTrackChangeEvent

Added in API level 31
fun reportTrackChangeEvent(event: TrackChangeEvent): Unit

Reports track change event.

Parameters
event TrackChangeEvent: This value cannot be null.