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 | close() |
Boolean | 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 | hashCode() |
Unit | reportNetworkEvent(event: NetworkEvent) Reports network event. |
Unit | Reports error event. |
Unit | reportPlaybackMetrics(metrics: PlaybackMetrics) Reports playback metrics. |
Unit | Reports playback state event. |
Unit | Reports track change event. |
Public methods
close
fun close(): Unit
Exceptions | |
---|---|
java.lang.Exception | if this resource cannot be closed |
equals
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 returntrue
. - It is symmetric: for any non-null reference values
x
andy
,x.equals(y)
should returntrue
if and only ify.equals(x)
returnstrue
. - It is transitive: for any non-null reference values
x
,y
, andz
, ifx.equals(y)
returnstrue
andy.equals(z)
returnstrue
, thenx.equals(z)
should returntrue
. - It is consistent: for any non-null reference values
x
andy
, multiple invocations ofx.equals(y)
consistently returntrue
or consistently returnfalse
, provided no information used inequals
comparisons on the objects is modified. - For any non-null reference value
x
,x.equals(null)
should returnfalse
.
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
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 . |
reportNetworkEvent
fun reportNetworkEvent(event: NetworkEvent): Unit
Reports network event.
Parameters | |
---|---|
event | NetworkEvent: This value cannot be null . |
reportPlaybackErrorEvent
fun reportPlaybackErrorEvent(event: PlaybackErrorEvent): Unit
Reports error event.
Parameters | |
---|---|
event | PlaybackErrorEvent: This value cannot be null . |
reportPlaybackMetrics
fun reportPlaybackMetrics(metrics: PlaybackMetrics): Unit
Reports playback metrics.
Parameters | |
---|---|
metrics | PlaybackMetrics: This value cannot be null . |
reportPlaybackStateEvent
fun reportPlaybackStateEvent(event: PlaybackStateEvent): Unit
Reports playback state event.
Parameters | |
---|---|
event | PlaybackStateEvent: This value cannot be null . |
reportTrackChangeEvent
fun reportTrackChangeEvent(event: TrackChangeEvent): Unit
Reports track change event.
Parameters | |
---|---|
event | TrackChangeEvent: This value cannot be null . |