CloudMediaSurfaceController
abstract class CloudMediaSurfaceController
kotlin.Any | |
↳ | android.provider.CloudMediaProvider.CloudMediaSurfaceController |
Manages rendering the preview of media items on given instances of Surface
.
The methods of this class are meant to be asynchronous, and should not block by performing any heavy operation.
Note that a single CloudMediaSurfaceController instance would be responsible for rendering multiple media items associated with multiple surfaces.
Summary
Public constructors | |
---|---|
Public methods | |
---|---|
abstract Unit |
onConfigChange(config: Bundle) Changes the configuration parameters for the CloudMediaSurfaceController. |
abstract Unit |
Indicates destruction of this CloudMediaSurfaceController object. |
abstract Unit |
onMediaPause(surfaceId: Int) Pauses the playback of the media associated with the given surface id. |
abstract Unit |
onMediaPlay(surfaceId: Int) Start playing the preview of the media associated with the given surface id. |
abstract Unit |
onMediaSeekTo(surfaceId: Int, timestampMillis: Long) Seeks the media associated with the given surface id to specified timestamp. |
abstract Unit |
Creates any player resource(s) needed for rendering. |
abstract Unit |
Releases any player resource(s) used for rendering. |
abstract Unit |
onSurfaceChanged(surfaceId: Int, format: Int, width: Int, height: Int) Indicates structural changes (format or size) in the |
abstract Unit |
onSurfaceCreated(surfaceId: Int, surface: Surface, mediaId: String) Indicates creation of the given |
abstract Unit |
onSurfaceDestroyed(surfaceId: Int) Indicates destruction of a |
Public constructors
CloudMediaSurfaceController
CloudMediaSurfaceController()
Public methods
onConfigChange
abstract fun onConfigChange(config: Bundle): Unit
Changes the configuration parameters for the CloudMediaSurfaceController.
Parameters | |
---|---|
config |
Bundle: the updated config to change to. This can include config changes for the following:
null . |
onDestroy
abstract fun onDestroy(): Unit
Indicates destruction of this CloudMediaSurfaceController object.
This CloudMediaSurfaceController object should no longer be in use after this method has been called.
Note that it is possible for this method to be called directly without onPlayerRelease
being called, hence you should release any resources associated with this CloudMediaSurfaceController object, or perform any cleanup required in this method.
onMediaPause
abstract fun onMediaPause(surfaceId: Int): Unit
Pauses the playback of the media associated with the given surface id.
Parameters | |
---|---|
surfaceId |
Int: id which uniquely identifies the Surface for rendering |
onMediaPlay
abstract fun onMediaPlay(surfaceId: Int): Unit
Start playing the preview of the media associated with the given surface id. If playback had previously been paused, playback will continue from where it was paused. If playback had been stopped, or never started before, playback will start at the beginning.
Parameters | |
---|---|
surfaceId |
Int: id which uniquely identifies the Surface for rendering |
onMediaSeekTo
abstract fun onMediaSeekTo(
surfaceId: Int,
timestampMillis: Long
): Unit
Seeks the media associated with the given surface id to specified timestamp.
Parameters | |
---|---|
surfaceId |
Int: id which uniquely identifies the Surface for rendering |
timestampMillis |
Long: the timestamp in milliseconds from the start to seek to Value is a non-negative duration in milliseconds. |
onPlayerCreate
abstract fun onPlayerCreate(): Unit
Creates any player resource(s) needed for rendering.
onPlayerRelease
abstract fun onPlayerRelease(): Unit
Releases any player resource(s) used for rendering.
onSurfaceChanged
abstract fun onSurfaceChanged(
surfaceId: Int,
format: Int,
width: Int,
height: Int
): Unit
Indicates structural changes (format or size) in the Surface
for rendering.
This method is always called at least once, after onSurfaceCreated
.
Parameters | |
---|---|
surfaceId |
Int: id which uniquely identifies the Surface for rendering |
format |
Int: the new PixelFormat of the surface |
width |
Int: the new width of the Surface |
height |
Int: the new height of the Surface |
onSurfaceCreated
abstract fun onSurfaceCreated(
surfaceId: Int,
surface: Surface,
mediaId: String
): Unit
Indicates creation of the given Surface
with given surfaceId
for rendering the preview of a media item with given mediaId
.
This is called immediately after the surface is first created. Implementations of this should start up whatever rendering code they desire.
Note that the given media item remains associated with the given surface id till the Surface
is destroyed.
Parameters | |
---|---|
surfaceId |
Int: id which uniquely identifies the Surface for rendering |
surface |
Surface: instance of the Surface on which the media item should be rendered This value cannot be null . |
mediaId |
String: id which uniquely identifies the media to be rendered This value cannot be null . |
onSurfaceDestroyed
abstract fun onSurfaceDestroyed(surfaceId: Int): Unit
Indicates destruction of a Surface
with given surfaceId
.
This is called immediately before a surface is being destroyed. After returning from this call, you should no longer try to access this surface.
Parameters | |
---|---|
surfaceId |
Int: id which uniquely identifies the Surface for rendering |