Skip to content

Commit

Permalink
Exoplayer works :)
Browse files Browse the repository at this point in the history
  • Loading branch information
kl3jvi committed Oct 26, 2021
1 parent 5735029 commit a04b27d
Showing 1 changed file with 36 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import android.os.Bundle
import android.view.View
import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity
import com.google.android.exoplayer2.ExoPlaybackException
import com.google.android.exoplayer2.MediaItem
import com.google.android.exoplayer2.SimpleExoPlayer
import com.google.android.exoplayer2.source.MediaSource
Expand All @@ -16,6 +17,7 @@ import com.google.android.exoplayer2.upstream.DefaultHttpDataSource
import com.google.android.exoplayer2.util.Log
import com.google.android.exoplayer2.util.MimeTypes
import com.google.android.exoplayer2.util.Util
import com.google.android.material.snackbar.Snackbar
import com.kl3jvi.animity.databinding.ActivityPlayerBinding
import com.kl3jvi.animity.model.entities.EpisodeModel
import com.kl3jvi.animity.utils.Constants
Expand Down Expand Up @@ -100,27 +102,32 @@ class PlayerActivity : AppCompatActivity() {
when (res) {
is Resource.Success -> {
val videoM3U8Url = res.data.toString()
Log.e("Video URL",videoM3U8Url)
val trackSelector = DefaultTrackSelector(this).apply {
setParameters(buildUponParameters().setMaxVideoSizeSd())
}
val videoSource: MediaSource = buildMediaSource(Uri.parse(videoM3U8Url))
player = SimpleExoPlayer.Builder(this)
.setTrackSelector(trackSelector)
.build()
.also { exoPlayer ->
viewBinding.videoView.player = exoPlayer
val mediaItem = MediaItem.Builder()
.setUri(videoM3U8Url)
.setMimeType(MimeTypes.APPLICATION_M3U8)
.build()

exoPlayer.setMediaItem(mediaItem)
exoPlayer.setMediaSource(videoSource)
exoPlayer.playWhenReady = playWhenReady
exoPlayer.seekTo(currentWindow, playbackPosition)
exoPlayer.prepare()
Log.e("Video URL", videoM3U8Url)
try {

val trackSelector = DefaultTrackSelector(this).apply {
setParameters(buildUponParameters().setMaxVideoSizeSd())
}
val videoSource: MediaSource = buildMediaSource(Uri.parse(videoM3U8Url))
player = SimpleExoPlayer.Builder(this)
.setTrackSelector(trackSelector)
.build()
.also { exoPlayer ->
viewBinding.videoView.player = exoPlayer
val mediaItem = MediaItem.Builder()
.setUri(videoM3U8Url)
.setMimeType(MimeTypes.APPLICATION_M3U8)
.build()

exoPlayer.setMediaItem(mediaItem)
exoPlayer.setMediaSource(videoSource)
exoPlayer.playWhenReady = playWhenReady
exoPlayer.seekTo(currentWindow, playbackPosition)
exoPlayer.prepare()
}
} catch (e: ExoPlaybackException) {
showSnack(e.localizedMessage)
}
viewBinding.progress.visibility = View.GONE
hideSystemUi()
}
Expand All @@ -129,6 +136,7 @@ class PlayerActivity : AppCompatActivity() {
}
is Resource.Error -> {
hideSystemUi()
showSnack(res.message)
}
}
})
Expand Down Expand Up @@ -177,6 +185,14 @@ class PlayerActivity : AppCompatActivity() {
or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION)
}

private fun showSnack(message: String?) {
val snack =
Snackbar.make(viewBinding.root, message ?: "Error Occurred", Snackbar.LENGTH_LONG)
if (!snack.isShown) {
snack.show()
}
}

}


Expand Down

0 comments on commit a04b27d

Please sign in to comment.