Medya2

Medya içeriklerini ve kontrolleri diğer uygulamalarla paylaşın.
Son Güncelleme Kararlı Sürüm Serbest Bırakma Adayı Beta Sürümü Alfa Sürümü
10 Ocak 2024 1.3.0 - - -

Bağımlılıkları bildirme

Media2'de bağımlılık eklemek için projenize Google Maven deposunu eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.

Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyaç duyduğunuz yapıların bağımlılıklarını ekleyin:

Modern

dependencies {
    def media2_version = "1.3.0"

    // Interacting with MediaSessions
    implementation "androidx.media2:media2-session:$media2_version"
    // optional - UI widgets for VideoView and MediaControlView
    implementation "androidx.media2:media2-widget:$media2_version"
    // optional - Implementation of a SessionPlayer
    implementation "androidx.media2:media2-player:$media2_version"
}

Kotlin

dependencies {
    val media2_version = "1.3.0"

    // Interacting with MediaSessions
    implementation("androidx.media2:media2-session:$media2_version")
    // optional - UI widgets for VideoView and MediaControlView
    implementation("androidx.media2:media2-widget:$media2_version")
    // optional - Implementation of a SessionPlayer
    implementation("androidx.media2:media2-player:$media2_version")
}

Bağımlılıklar hakkında daha fazla bilgi için Derleme Bağımlılıkları Ekleme bölümüne bakın.

Geri bildirim

Geri bildirimleriniz Jetpack'i iyileştirmemize yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı geliştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni hesap oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerine bakın.

Sürüm 1.3

Sürüm 1.3.0

10 Ocak 2024

androidx.media2:media2-*:1.3.0 yayınlandı. 1.3.0 sürümü bu kayıtları içerir.

1.2.0 sürümünden sonraki önemli değişiklikler

  • androidx.media2 artık tamamen kullanımdan kaldırılmıştır. Bunun yerine androidx.media3 alanını kullanın.

Sürüm 1.3.0-rc01

13 Aralık 2023

androidx.media2:media2-*:1.3.0-rc01, Media2 1.3.0-beta01 sürümünde herhangi bir değişiklik olmadan yayınlandı. Sürüm 1.3.0-rc01 bu kayıtları içerir.

Sürüm 1.3.0-beta01

29 Kasım 2023

androidx.media2:media2-*:1.3.0-beta01, Media2 1.3.0-alpha01 ürününde herhangi bir değişiklik olmadan yayınlandı. 1.3.0-beta01 sürümü bu kayıtları içerir.

Sürüm 1.3.0-alpha01

15 Kasım 2023

androidx.media2:media2-*:1.3.0-alpha01 yayınlandı. Sürüm 1.3.0-alpha01 bu kayıtları içerir.

API Değişiklikleri

  • androidx.media2 artık tamamen kullanımdan kaldırıldı. Bunun yerine androidx.media3 politikasını kullanın. (I53164)

Sürüm 1.2.1

Sürüm 1.2.1

9 Şubat 2022

androidx.media2:media2-*:1.2.1 yayınlandı. Sürüm 1.2.1 bu kayıtları içerir.

Hata Düzeltmeleri

  • API 33 hedeflenirken özel ayrıştırılabilir öğeler için yapılan kontrolü düzeltin.

Sürüm 1.2.0

Sürüm 1.2.0

15 Eylül 2021

androidx.media2:media2-*:1.2.0 yayınlandı. 1.2.0 sürümü bu kayıtları içerir.

1.1.0 sürümünden sonraki önemli değişiklikler

  • (prepare|play)From(MediaId|Uri|Search) AndroidX medyasıyla birlikte çalışabilirlik desteği
  • MEDIA_URI_PATH_SET_MEDIA_URI ve MEDIA_URI_QUERY_URI MediaConstants koleksiyonuna eklendi

Sürüm 1.2.0-rc01

1 Eylül 2021

androidx.media2:media2-*:1.2.0-rc01 yayınlandı. Sürüm 1.2.0-rc01 bu kayıtları içerir.

Hata Düzeltmeleri

Sürüm 1.2.0-beta01

30 Haziran 2021

androidx.media2:media2-*:1.2.0-beta01 yayınlandı. Sürüm 1.2.0-beta01 bu kayıtları içerir.

Yeni Özellikler

  • (prepare|play)From(MediaId|Uri|Search) AndroidX medyasıyla birlikte çalışabilirlik desteği

API Değişiklikleri

  • MediaConstants'a MEDIA_URI_PATH_SET_MEDIA_URI ve MEDIA_URI_QUERY_URI eklendi

Sürüm 1.2.0-alpha01

21 Nisan 2021

androidx.media2:media2-*:1.2.0-alpha01 yayınlandı. Sürüm 1.2.0-alpha01 bu kayıtları içerir.

API Değişiklikleri

Hata Düzeltmeleri

  • Gereksiz senkronize edilmiş bloklardan kaynaklanan kilitlenme sorununu düzeltin.
  • Oynatılabilir öğe olmadığında oynatıcıyı sıfırlayın
  • onCurrentMediaItemChanged'in boş medya öğesi almasına izin ver
  • Mevcut medya öğesi değiştirildiğinde bildirimi güncelle
  • Oturum oluşturulduktan hemen sonra denetleyiciyle birlikte çalışabilirlik sorunu düzeltildi

Sürüm 1.1.3

Sürüm 1.1.3

21 Nisan 2021

androidx.media2:media2-*:1.1.3 yayınlandı. 1.1.3 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • Gereksiz senkronize edilmiş bloklardan kaynaklanan kilitlenme sorununu düzeltin.

Sürüm 1.1.2

Sürüm 1.1.2

27 Ocak 2021

androidx.media2:media2-*:1.1.2 yayınlandı. 1.1.2 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

Sürüm 1.1.1

Sürüm 1.1.1

16 Aralık 2020

androidx.media2:media2-*:1.1.1 yayınlandı. Sürüm 1.1.1 bu kayıtları içerir.

Hata Düzeltmeleri

  • Mevcut medya öğesi değiştirildiğinde medya bildiriminin güncellenmesini sağlayın.

Sürüm 1.1.0

Sürüm 1.1.0

2 Aralık 2020

androidx.media2:media2-*:1.1.0 yayınlandı. Sürüm 1.1.0 bu kayıtları içerir.

1.0.0 sürümünden beri yapılan önemli değişiklikler

  • Medya kanallarını yönetmek için daha fazla API eklendi
  • AndroidX medya kitaplığı ile birlikte çalışabilirlik konusunda daha iyi destek
    • MediaSession#setMediaUri eklendi
    • MediaSession#getSessionCompatToken() üzerinden MediaSessionCompat.Token tarihinde açıldı

Sürüm 1.1.0-rc01

28 Ekim 2020

androidx.media2:media2-*:1.1.0-rc01 yayınlandı. Sürüm 1.1.0-rc01 bu kayıtları içerir.

  • MediaController'ın kilit tutarken geri çağırmaları bildirmesi ve olası kilitlenmelere yol açması (I76c56) sorunu giderildi.
  • Yayınlanan MediaSessionCompat sürümünde getCurrentControllerInfo() çağrılırken MediaSessionImplBase#isClosed() uygulamasının kilitlenmesine neden olan sorun düzeltildi. (aosp/1423291]
  • media2 MediaSession öğesinin, etkin sıra öğesi kimliğini PlaybackStateCompat (aosp/1421652) olarak ayarlamaması sorunu düzeltildi
  • Hizmete bağlanırken, gözetimsiz medya uygulamalarının izne sahip olmaları halinde konuma erişmesine olanak tanıyan BIND_INCLUDE_CAPABILITIES işareti eklendi. Bu, özellikle Android Auto uygulamaları için kullanışlıdır. (aosp/1440731)

Sürüm 1.1.0-beta01

16 Eylül 2020

androidx.media2:media2-*:1.1.0-beta01 yayınlandı. Sürüm 1.1.0-beta01 bu kayıtları içerir.

Hata Düzeltmeleri

  • Medya öğesi değiştiğinde mevcut konumu sıfırla
  • Bağlandığında meta veri ve arabelleğe alma durumunu gönder
  • Bir oturum ile denetleyici arasında büyük veri gönderirken oluşan kilitlenme sorununu düzeltme
  • Android 11 için medya için manifeste ve medya2'ye <queries> ekleyin
  • MediaController.getPlaylist() için NPE'yi düzeltin
  • Sarma komutuna izin verilmediğinde MediaControlView ilerleme çubuğunu devre dışı bırak
  • Bir oturumun mevcut medya öğesi değiştiğinde PlaybackStateCompat bildir
  • SessionPlayer.TrackInfo paketlemesini düzeltin

Sürüm 1.1.0-alpha01

24 Haziran 2020

androidx.media2:media2-*:1.1.0-alpha01 yayınlandı. Sürüm 1.1.0-alpha01 bu kayıtları içerir.

Hata Düzeltmeleri

  • Meta verileri güncellerken ortaya çıkan zamanlama sorunu düzeltildi (I45567, b/143999611)
  • SessionResult, PlayerResult'daki MediaItem değerini (I927b0, b/154885520) koruyacaktır.
  • MediaController#setVolumeTo() uygulamasının yanlış akış hacmini değiştirmesine yol açan bir hata düzeltildi. (I76870, b/151204736)

Sürüm 1.0.3

Sürüm 1.0.3

19 Şubat 2020

androidx.media2:media2-*:1.0.3 yayınlandı. media2-{common,player,session} sürümü 1.0.3 bu kayıtları içeriyor ve media2-widget sürümü 1.0.3 sürümü bu kayıtları içeriyor

Hata Düzeltmeleri

  • Boş bir geri çağırmayla MediaController oluştururken NullPointerException hatası düzeltildi
  • onPlaylistChanged() öğesinin MediaPlayer.setMediaItem tarihinden sonra çağrılmadığı sorun düzeltildi.

Sürüm 1.0.2

Sürüm 1.0.2

5 Şubat 2020

androidx.media2:media2-*:1.0.2 yayınlandı. media2-{common,player,session} sürümü 1.0.2 bu kayıtları içeriyor ve media2-widget sürümü 1.0.2 sürümü bu kayıtları içeriyor

Hata düzeltmeleri

  • MediaPlayer#getSelectedTrack() öğesindeki IndexOutOfBoundsException düzeltildi. (aosp/987003)
  • ExoPlayer'ın getDuration() çağrısı yapıp medya öğesinin mevcut olmadığı durumun işlenmesi iyileştirildi (aosp/987484)
  • getDuration(), IDLE durumunda çağrıldığında ExoPlayer'ın IllegalStateException göndermemesine neden olan hata düzeltildi (aosp/987246)
  • media2 için özel ayrıştırılabilirlere izin verme (aosp/1091056)
  • close() ürününde askıya alınmaya neden olan bir sorun düzeltildi (aosp/1096455)
  • MediaTarayıcı: MediaBrowserService ile subscribe() içindeki hataların işlenmesi iyileştirildi (aosp/1158057)
  • Framework MediaSession(aosp/1177663) ile oluşan MediaController kilitlenmesi düzeltildi
  • Bağlantı kurulduğunda geri çağırmalarla oturum bilgilerini bilgilendirme (aosp/1195030, b/142925848)
  • SessionResult'ın MediaController'dan beklenmedik bir şekilde birden fazla kez gönderilmesine neden olan sorun düzeltildi (aosp/1198634)
  • MediaController'ın, MediaSession'a izin verilmeyen komutlar göndermesine neden olan sorun düzeltildi. Bu durumda MediaSession artık RESULT_ERROR_PERMISSION_DENIED'i (aosp/1204183) gönderiyor
  • MediaControllerView#setPlayer ile ilgili stabil olmayan bir sorun giderildi (aosp/987004)

Sürüm 1.0.1

Sürüm 1.0.1

9 Ekim 2019

androidx.media2:media2-*:1.0.1 yayınlandı. androidx.media2:media2-{player, session}:1.0.1 sürümü 1.0.1 sürümü bu kayıtları içerir ve androidx.media2:media2-widget:1.0.1 sürümü 1.0.1 sürümü bu kayıtları içerir.

Hata düzeltmeleri

  • İşlem genelinde bir MediaItem alt sınıfı gönderildiğinde ortaya çıkan RuntimeException sorunu düzeltildi (aosp/1098971)
  • MediaPlayer'ın bir oynatma listesi çalarken onCurrentMediaItemChanged() öğesini yalnızca bir kez çağırmasına neden olan sorun düzeltildi.
  • MediaPlayer'ın 2'den fazla öğesi olan bir oynatma listesini oynatmasına neden olan sorun düzeltildi (aosp/1108440)
  • Oynatıcının görünmez olsa bile SurfaceView'da oynamaya devam etmesine neden olan sorun düzeltildi
  • setPlayer tarihinden önce setViewType öğesine çağrı yapıldığında oluşan VideoView oynatma sorunu düzeltildi.

Sürüm 1.0.0

5 Eylül 2019

androidx.media2:media2-*:1.0.0 yayınlandı. Bunlar, media2-{player, session}:1.0.0 kapsamındaki taahhütler ve media2-widget:1.0.0 kapsamındaki taahhütlerdir.

Media2 1.0.0'ın Temel Özellikleri

Media2, şu Media API'lerinin yeni neslidir: MediaSession, MediaController, MediaBrowser, MediaBrowserService, VideoView ve MediaControlView.

  • media2.player.MediaPlayer
    • API'ler çoğunlukla android.media.MediaPlayer ile eşleştirilir ve temel motor ExoPlayer'dır
    • Yerleşik ses odağı ve gürültü işleme
    • SessionPlayer'ı uygular
  • media2.session.MediaSession
    • Ayrıntılı izin kontrolleri sağlar
    • Özel düzenleri destekler
    • SessionPlayer ile kullanımı kolaydır (ör. androidx.media2.player.MediaPlayer)
    • MediaControllerCompat ile birlikte çalışabilir
  • media2.session.MediaSessionService
    • MediaLibraryService uygulamasının hafif bir sürümü
    • Arka planda oynatma için hizmet yaşam döngüsü yönetimi sağlar
    • MediaControllerCompat ve MediaBrowserServiceCompat ile birlikte kullanılabilir
  • media2.session.MediaLibraryService
    • Medya öğelerinde veya çok sayıda öğe içeren arama sonuçlarında gezinmek için daha iyi sayfalandırmayı destekler
    • MediaControllerCompat ve MediaBrowserServiceCompat ile birlikte kullanılabilir
  • media2.session.MediaController
    • MediaSession, MediaSessionService ve MediaLibraryService cihazlarına bağlanabilir
    • MediaSessionCompat ve MediaBrowserServiceCompat ile birlikte kullanılabilir
  • media2.session.MediaBrowser
    • Devralınır: MediaController
    • MediaSession, MediaSessionService ve MediaLibraryService cihazlarına bağlanabilir
    • MediaSessionCompat ve MediaBrowserServiceCompat ile birlikte kullanılabilir
  • media2.widget.VideoView
    • android.widget.VideoView ürününün tüm işlevlerini içerir
    • TextureView ile SurfaceView arasında geçiş sağlar
    • MediaSession ile birlikte çalışabilir
  • media2.widget.MediaControlView
    • Daha iyi görünüm ve tarz
    • android.widget.MediaController ürününün tüm işlevlerini içerir
    • Altyazı parçası seçimi, oynatma hızı seçimi ve tam ekran modu sağlar

Sürüm 1.0.0-rc02

22 Ağustos 2019

androidx.media2:media2-*:1.0.0-rc02 kullanıma sunuldu. Bu sürümde yapılan değişiklikleri burada bulabilirsiniz. Bu sürüm androidx.media2:media2-widget:1.0.0-rc02 içerir. Bu sürümdeki değişiklikleri burada bulabilirsiniz.

Yeni özellikler

  • MediaControlView bir VideoView değerine ait olduğunda setPlayer veya setController öğelerinin MediaControlView (MCV) aracılığıyla çağrılmasına artık izin verilmiyor

Hata düzeltmeleri

  • MediaControlView: Sonraki ve önceki düğmeleri yalnızca sonraki veya önceki medya öğeleri olduğunda tıklanabilir.
  • MediaControlView: onAttachedToWindow() çağrıldığında ortaya çıkan stabil olmayan NullPointerException düzeltildi
  • Media2 Widget, mevcut medya öğesi değiştirildiğinde artık yeni medya öğesinin meta verilerini düzgün bir şekilde işliyor

Media2-Widget Sürüm 1.0.0-beta01

2 Temmuz 2019

androidx.media2:media2-widget:1.0.0-beta01 yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.

Yeni özellikler

  • Arka planda oynatma: VideoView, VideoView içinde oynatıcı oluşturmak yerine SessionPlayer veya MediaController'ı kullanarak uygulamanın arka planda oynatma moduna sorunsuz bir şekilde geçiş yapmasını sağlayabilir.
  • media2-player kitaplığındaki bağımlılık kaldırıldı
  • onViewTypeChangedListener eklendi

API değişiklikleri

  • Herkese açık olan görünürlük ayarı "Korumalı" olarak değiştirildi:
    • VideoView.onMeasure(int, int)
    • VideoView.onAttachedToWindow()
    • VideoView.onDetachedFromWindow()
    • MediaControlView.onMeasure(int, int)
  • Kaldırıldı:
    • VideoView.getSessionToken()
    • VideoView.setAudioAttributes(AudioAttributesCompat)
    • VideoView.setMedaItem(MediaItem)
    • MediaControlView.setSessionToken(SessionToken)
  • Eklenen:
    • VideoView.setMediaController(MediaController)
    • VideoView.getMediaControlView()
    • VideoView.setMediaController(MediaController)
    • VideoView.setPlayer(SessionPlayer)
    • VideoView.setOnViewTypeChangedListener()
    • MediaControlView.setPlayer(SessionPlayer)
    • MediaControlView.setMediaController(MediaContoller)

Sürüm 1.0.0-rc01

18 Haziran 2019

androidx.media2:media2-common:1.0.0-rc01, androidx.media2:media2-player:1.0.0-rc01 ve androidx.media2:media2-session:1.0.0-rc01 yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.

API değişiklikleri

  • ListenableFuture üzerindeki bağımlılıklar Guava'nın bağımsız uygulamasına geri taşındı.

  • Tam Guava yapısını temel alan test hedefleriniz varsa Android Gradle eklentisinin belirli sürümlerini kullanırken bir bağımlılık çözümü çakışmasıyla karşılaşabileceğinizi unutmayın. ListenableFuture ile ilgili bir Could not resolve all artifacts hatasıyla karşılaşırsanız projenizin derleme yapılandırmasına android.dependency.useConstraints=false ekleyerek sorunu geçici olarak çözebilirsiniz. Şu anda Android Gradle Eklentisi'nde daha sonraki bir tarihte yayınlanacak kalıcı bir düzeltme üzerinde çalışıyoruz.

Sürüm 1.0.0-beta02

5 Haziran 2019

androidx.media2:media2-common:1.0.0-beta02, androidx.media2:media2-player:1.0.0-beta02 ve androidx.media2:media2-session:1.0.0-beta02 yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.

Hata düzeltmeleri

  • androidx.media.player.MediaPlayer'da negatif oynatma hızının ayarlanması RESULT_ERROR_BAD_VALUE değerini döndürür.
  • Guava ListenableFuture yerine Jetpack uygulamasını kullanın (aosp/968828)

Sürüm 1.0.0-beta01

7 Mayıs 2019

androidx.media2:media2-common:1.0.0-beta01, androidx.media2:media2-player:1.0.0-beta01 ve androidx.media2:media2-session:1.0.0-beta01 yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.

Yeni özellikler

  • Kitaplıklar 3 parçaya ayrılır: media2-common, media2-player, media2-session
  • @NonNull olarak işaretlenen boş bağımsız değişkenler için IllegalPointerException değeri NullPointerException olarak değiştirildi.

API değişiklikleri

  • MediaController.Builder tarihinde kullanıma sunuldu
  • FileMediaItem.Builder öğesinin isteğe bağlı alanları için setter yöntemleri eklendi
  • MediaController ve MediaBrowser, uygulamanın bağlantı ipuçlarını MediaSession, MediaSessionService veya MediaLibraryService adreslerine gönderebilir
  • Bazı yöntemler, Android 10 Media2 API'lerini kullanacak şekilde yeniden adlandırıldı

Sürüm 1.0.0-alpha04

17 Aralık 2018

API değişiklikleri

  • Aşağıdaki sınıflar yeniden adlandırıldı:
    • MediaPlayer2MediaPlayer
    • MediaSession2MediaSession
    • MediaController2MediaController
    • MediaSessionService2MediaSessionService
    • MediaLibraryService2MediaLibraryService
    • MediaBrowser2MediaBrowser
    • MediaMetadata2MediaMetadata
    • Rating2Rating
    • SessionToken2SessionToken
    • SessionCommand2SessionCommand
    • SessionCommandGroup2SessionCommandGroup
  • Aşağıdaki sınıflar birleştirildi:
    • DataSourceDesc2 ve MediaItem2, MediaItem olarak birleştirildi
    • MediaPlaylistAgent ve MediaPlayerConnector, SessionPlayer olarak birleştirildi
  • Şu Rating alt sınıfları eklendi: HeartRating, PercentageRating, StarRating ve ThumbRating
  • Media2 artık eş zamansız yöntemler için ListenableFuture kullanıyor