//tvlib/org.mjdev.tvlib.ui.components.media
| Name | Summary |
|---|---|
| ExoPlayerImpl | [androidJvm] @UnstableApi class ExoPlayerImpl(val context: Context) : IMediaPlayer, PlayerNotificationManager.MediaDescriptionAdapter, MediaSession.Callback |
| IMediaPlayer | [androidJvm] interface IMediaPlayer : Player |
| MediaPlayerContainerDefaults | [androidJvm] object MediaPlayerContainerDefaults |
| MediaPlayerState | [androidJvm] @JsonClass(generateAdapter = true) class MediaPlayerState(@Json(name = "context", ignore = true)val context: Context? = null, @Json(name = "initialItems")initItems: List<MediaItem> = emptyList(), @Json(name = "initialIndex")initItemIndex: Int = 0, @Json(name = "autoPlay")autoPlay: Boolean = true, @Json(name = "seekAtStart")startSeek: Long? = null, @Json(name = "playNextOnError")val playNextOnError: Boolean = true, @Json(name = "onError", ignore = true)val onError: MediaPlayerState.(e: Throwable) -> Boolean = { false }) : Player.Listener |
| NativePlayerImpl | [androidJvm] class NativePlayerImpl(val context: Context, mediaPlayer: MediaPlayer = MediaPlayer()) : IMediaPlayer |
| Name | Summary |
|---|---|
| MediaPlayerContainer | [androidJvm] @Composable fun MediaPlayerContainer(modifier: Modifier = Modifier, visible: Boolean = true, enableSwipeGestures: Boolean = true, onError: MediaPlayerState.(error: Throwable) -> Boolean = { e -> Timber.e(e) false }, state: MediaPlayerState = rememberMediaPlayerState( onError = onError )) |
| PlayerControlView | [androidJvm] @Composable fun PlayerControlView() |