class MediaActivity : AppCompatActivity() {
private lateinit var mCurrPlayer: MediaController
private var mediaControllerFuture: ListenableFuture? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_media)
initMediaController()
}
private fun initMediaController() {
val sessionToken = SessionToken(this, ComponentName(this, MusicService::class.java))
mediaControllerFuture = MediaController.Builder(this, sessionToken).buildAsync()
mediaControllerFuture?.apply {
addListener(Runnable {
val player = mediaControllerFuture?.get()
player?.let {
PlayServiceModule.setPlayer(it)
}
mCurrPlayer = get()
playMedia()
}, MoreExecutors.directExecutor())
}
}
private fun playMedia() {
val mediaItem = MediaItem.Builder()
.setMediaId("www.soundhelix.com/examples/mp…")
.setUri("www.soundhelix.com/examples/mp…")
.setMediaMetadata(
MediaMetadata.Builder()
.setTitle("")
.setArtist("")
.setAlbumTitle("")
.setAlbumArtist("")
.setArtworkUri(Uri.parse("i.pinimg.com/736x/4b/02/…"))
.setBaseCover("i.pinimg.com/736x/4b/02/…")
.setDuration(1000L)
.setFilePath("i.pinimg.com/736x/4b/02/…")
.setFileName("")
.setFileSize(20L)
.build()
)
.build()
mCurrPlayer.setMediaItem(mediaItem)
mCurrPlayer.prepare()
mCurrPlayer.play()
}
}