Skip to content

Instantly share code, notes, and snippets.

@halilozel1903
Created August 30, 2022 20:19
Show Gist options
  • Save halilozel1903/c597418d11b5ecbc08672aa6f2fbf00d to your computer and use it in GitHub Desktop.
Save halilozel1903/c597418d11b5ecbc08672aa6f2fbf00d to your computer and use it in GitHub Desktop.
class MainActivity : Activity() {
private lateinit var binding: ActivityMainBinding
private var exoPlayer: ExoPlayer? = null
private var playbackPosition = 0L
private var playWhenReady = true
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
val view = binding.root
setContentView(view)
preparePlayer()
}
private fun preparePlayer() {
exoPlayer = ExoPlayer.Builder(this).build()
exoPlayer?.playWhenReady = true
binding.playerView.player = exoPlayer
val defaultHttpDataSourceFactory = DefaultHttpDataSource.Factory()
val mediaItem = MediaItem.fromUri(URL)
val mediaSource =
DashMediaSource.Factory(defaultHttpDataSourceFactory).createMediaSource(mediaItem)
exoPlayer?.setMediaSource(mediaSource)
exoPlayer?.seekTo(playbackPosition)
exoPlayer?.playWhenReady = playWhenReady
exoPlayer?.prepare()
}
private fun releasePlayer() {
exoPlayer?.let { player ->
playbackPosition = player.currentPosition
playWhenReady = player.playWhenReady
player.release()
exoPlayer = null
}
}
companion object {
const val URL =
"https://bitmovin-a.akamaihd.net/content/MI201109210084_1/mpds/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.mpd"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment