İlk başta Manifest dosyası içine aşağıdaki izni ekleriz
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
Ardından Gradle Dependenciese aşağıdaki kütüphaneleri ekliyoruz
implementation ("androidx.media3:media3-exoplayer:1.2.1")
implementation ("androidx.media3:media3-ui:1.2.1")
implementation ("androidx.media3:media3-common:1.2.1")
implementation( "androidx.media3:media3-session:1.2.1")
Bunları senkronize ediyoruz(SYNC yapıyoruz).
Main Activity içine aşağıdaki "val"i ekliyoruz.
val player = ExoPlayer.Builder(context).build()
val mediaSession = MediaSession.Builder(context, player).build()Bu oynatıcıyı daha ileri seviyeye taşımak içinaşağıdaki kodu main activity içine eklerizclass PlaybackService : MediaSessionService() {
private var mediaSession: MediaSession? = null
// Create your Player and MediaSession in the onCreate lifecycle event
override fun onCreate() {
super.onCreate()
val player = ExoPlayer.Builder(this).build()
mediaSession = MediaSession.Builder(this, player).build()
}
// Remember to release the player and media session in onDestroy
override fun onDestroy() {
mediaSession?.run {
player.release()
release()
mediaSession = null
}
super.onDestroy()
}
}Bir ileri aşama için
// This example always accepts the connection request
override fun onGetSession(
controllerInfo: MediaSession.ControllerInfo
): MediaSession? = mediaSessionekleriz.
Daha ilerisi için
override fun onStart() {
val sessionToken = SessionToken(this, ComponentName(this, PlaybackService::class.java))
val controllerFuture = MediaController.Builder(this, sessionToken).buildAsync()
controllerFuture.addListener(
{
// Call controllerFuture.get() to retrieve the MediaController.
// MediaController implements the Player interface, so it can be
// attached to the PlayerView UI component.
playerView.setPlayer(controllerFuture.get())
},
MoreExecutors.directExecutor()
)
}
Hiç yorum yok:
Yorum Gönder