player interface part 2
* replace current time position with remaining time * show title and back button at the top
This commit is contained in:
@ -151,9 +151,10 @@ class MainActivity : AppCompatActivity(), BottomNavigationView.OnNavigationItemS
|
||||
}
|
||||
}
|
||||
|
||||
fun startPlayer(streamUrl: String) {
|
||||
fun startPlayer(streamUrl: String, title: String) {
|
||||
val intent = Intent(this, PlayerActivity::class.java).apply {
|
||||
putExtra(getString(R.string.intent_stream_url), streamUrl)
|
||||
putExtra(getString(R.string.intent_title), title)
|
||||
}
|
||||
startActivity(intent)
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ class PlayerActivity : AppCompatActivity() {
|
||||
private lateinit var controller: StyledPlayerControlView
|
||||
|
||||
private var streamUrl = ""
|
||||
private var title = ""
|
||||
|
||||
private var playWhenReady = true
|
||||
private var currentWindow = 0
|
||||
@ -45,6 +46,7 @@ class PlayerActivity : AppCompatActivity() {
|
||||
playWhenReady = it.getBoolean(getString(R.string.state_is_playing))
|
||||
}
|
||||
streamUrl = intent.getStringExtra(getString(R.string.intent_stream_url)).toString()
|
||||
title = intent.getStringExtra(getString(R.string.intent_title)).toString()
|
||||
|
||||
initActions()
|
||||
}
|
||||
@ -107,7 +109,6 @@ class PlayerActivity : AppCompatActivity() {
|
||||
player.seekTo(playbackPosition)
|
||||
player.prepare()
|
||||
|
||||
|
||||
player.addListener(object : Player.EventListener {
|
||||
override fun onPlaybackStateChanged(state: Int) {
|
||||
super.onPlaybackStateChanged(state)
|
||||
@ -125,6 +126,7 @@ class PlayerActivity : AppCompatActivity() {
|
||||
}
|
||||
}
|
||||
})
|
||||
video_view.player = player
|
||||
|
||||
// when the player controls get hidden, hide the bars too
|
||||
video_view.setControllerVisibilityListener {
|
||||
@ -149,10 +151,14 @@ class PlayerActivity : AppCompatActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
video_view.player = player
|
||||
exo_text_title.text = title // set media title
|
||||
}
|
||||
|
||||
private fun initActions() {
|
||||
exo_close_player.setOnClickListener {
|
||||
this.finish()
|
||||
}
|
||||
|
||||
exo_rew_10.setOnClickListener {
|
||||
player.seekTo(player.currentPosition - rwdTime)
|
||||
}
|
||||
@ -167,6 +173,8 @@ class PlayerActivity : AppCompatActivity() {
|
||||
currentWindow = player.currentWindowIndex
|
||||
playWhenReady = player.playWhenReady
|
||||
player.release()
|
||||
|
||||
Log.d(javaClass.name, "Released player")
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -164,7 +164,7 @@ class MediaFragment(private val media: Media, private val tmdb: TMDBResponse) :
|
||||
}
|
||||
|
||||
Log.d(javaClass.name, "Playing stream: $streamUrl")
|
||||
(activity as MainActivity).startPlayer(streamUrl)
|
||||
(activity as MainActivity).startPlayer(streamUrl, ep.title)
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user