SimpleExoPlayer.Builder(this).build() deprecated



我在我的应用程序中使用Exoplayer,并将外部层初始化为

player = SimpleExoPlayer.Builder(this).build()

但安卓工作室给了我警告,因为它已经被弃用了。当我到达Exoplayer2.15.1的较低版本时,警告会熄灭。但在最新版本2.16.0中,它会发出弃用警告。我们现在如何用最新版本初始化系外层?

SimpleExoPlayer已弃用。所有功能已移至ExoPlayer。可以使用CCD_ 5来代替CCD_。

将你的外层初始化为

player = ExoPlayer.Builder(this).build()

您可以在发行说明中检查2.16.0版本库中所做的更改

SimpleExoPlayer已弃用。您应该使用ExoPlayer

implementation 'com.google.android.exoplayer:exoplayer:2.18.2'

示例:

private var exoPlayer: ExoPlayer? = null
exoPlayer = ExoPlayer.Builder(this).build()

2.16.1中执行以下操作。

ExoPlayer player = new ExoPlayer.Builder(context).build();

请参阅:https://exoplayer.dev/hello-world.html

玩家初始化。

val exoPlayer = ExoPlayer.Builder(context).build().apply {
setMediaItem(MediaItem.fromUri("http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"))
}

PlayerView现在被StyledPlayerView取代

StyledPlayerView(context).apply {
player = exoPlayer
layoutParams = FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT
)
}

编写下面的示例。

@Composable
fun VideoPlayer() {
val context = LocalContext.current
val exoPlayer = remember(context) {
ExoPlayer.Builder(context).build().apply {
setMediaItem(MediaItem.fromUri("http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"))
}
}
DisposableEffect(key1 = exoPlayer) {
onDispose {
exoPlayer.release()
}
}
AndroidView(modifier = Modifier
.fillMaxWidth()
.height(214.dp), factory = {
StyledPlayerView(context).apply {
player = exoPlayer
layoutParams = FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT
)
}
})
}

最新更新