15

I'm using Exoplayer in my app and initializing exoplayer as

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

But Android Studio is giving me warning as it is deprecated. When I get to the lower version of Exoplayer 2.15.1, then warning goes off. But in latest version 2.16.0, it is giving deprecation warning. How can we initialize exoplayer now with the latest version?

Feroz Khan
  • 2,396
  • 5
  • 20
  • 37
  • As per the release notes for 2.16.0: Deprecate `SimpleExoPlayer`. All functionality has been moved to `ExoPlayer` instead. `ExoPlayer.Builder` can be used instead of `SimpleExoPlayer.Builder`. You can find further changes here https://github.com/google/ExoPlayer/releases – Kartik Nov 24 '21 at 11:08

4 Answers4

29

SimpleExoPlayer Deprecated. All functionality has been moved to ExoPlayer instead. ExoPlayer.Builder can be used instead of SimpleExoPlayer.Builder.

Initialize your exoplayer as

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

You can check the changes done in library for version 2.16.0 in release notes

Nitish
  • 3,075
  • 3
  • 13
  • 28
6

SimpleExoPlayer deprecated. You should use ExoPlayer

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

Example:

private var exoPlayer: ExoPlayer? = null
exoPlayer = ExoPlayer.Builder(this).build()
Halil Ozel
  • 2,482
  • 3
  • 17
  • 32
4

In 2.16.1 do as following.

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

Pls see : https://exoplayer.dev/hello-world.html

DragonFire
  • 3,722
  • 2
  • 38
  • 51
2

player intialization.

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

and PlayerView is now replaced with StyledPlayerView

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

        }

Compose example below.

@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
            )

        }
    })
}
vikas kumar
  • 10,447
  • 2
  • 46
  • 52