Medya2

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

Bağımlılıkları beyan etme

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

Uygulamanızın veya modülünüzün build.gradle dosyasına ihtiyacınız olan yapıların bağımlılıklarını ekleyin:

Eski

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 başlıklı makaleyi inceleyin.

Geri bildirim

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

Yeni sorun oluşturma

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

Sürüm 1.3

1.3.0 sürümü

10 Ocak 2024

androidx.media2:media2-*:1.3.0 yayınlanır. 1.3.0 sürümü bu taahhütleri içerir.

1.2.0 sürümünden bu yana yapılan önemli değişiklikler

  • androidx.media2 artık tamamen kullanımdan kaldırıldı. Bunun yerine androidx.media3 paketini 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üne kıyasla herhangi bir değişiklik içermeden yayınlanmıştır. 1.3.0-rc01 sürümü bu taahhütleri 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 ile aynı şekilde yayınlanır. 1.3.0-beta01 sürümü bu taahhütleri içerir.

Sürüm 1.3.0-alpha01

15 Kasım 2023

androidx.media2:media2-*:1.3.0-alpha01 yayınlanır. 1.3.0-alpha01 sürümü bu taahhütleri 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ınlanır. 1.2.1 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • API 33'ü hedeflerken özel Parcelables kontrolü düzeltildi.

Sürüm 1.2.0

Sürüm 1.2.0

15 Eylül 2021

androidx.media2:media2-*:1.2.0 yayınlanır. 1.2.0 sürümü bu taahhütleri içerir.

1.1.0 sürümünden bu yana yapılan önemli değişiklikler

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

Sürüm 1.2.0-rc01

1 Eylül 2021

androidx.media2:media2-*:1.2.0-rc01 yayınlanır. 1.2.0-rc01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

Sürüm 1.2.0-beta01

30 Haziran 2021

androidx.media2:media2-*:1.2.0-beta01 yayınlanır. 1.2.0-beta01 sürümü bu taahhütleri içerir.

Yeni Özellikler

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

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ınlanır. 1.2.0-alpha01 sürümü bu taahhütleri içerir.

API Değişiklikleri

Hata Düzeltmeleri

  • Gereksiz senkronize bloklardan kaynaklanan kilitlenme sorunu düzeltildi.
  • Oynatılabilen öğe olmadığında oynatıcıyı sıfırlama
  • onCurrentMediaItemChanged'in boş medya öğesi almasına izin verin
  • Mevcut medya öğesi değiştiğinde bildirimin güncellenmesini sağlama
  • Oturum oluşturulduktan hemen sonra denetleyici uyumluluğu ile birlikte çalışabilirliği düzeltme

Sürüm 1.1.3

Sürüm 1.1.3

21 Nisan 2021

androidx.media2:media2-*:1.1.3 yayınlanır. 1.1.3 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Gereksiz senkronize bloklardan kaynaklanan kilitlenme sorunu düzeltildi.

Sürüm 1.1.2

Sürüm 1.1.2

27 Ocak 2021

androidx.media2:media2-*:1.1.2 yayınlanır. 1.1.2 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

1.1.1 sürümü

1.1.1 sürümü

16 Aralık 2020

androidx.media2:media2-*:1.1.1 yayınlanır. 1.1.1 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Geçerli medya öğesi değiştiğinde medya bildiriminin güncellenmesini sağlayın.

1.1.0 sürümü

1.1.0 sürümü

2 Aralık 2020

androidx.media2:media2-*:1.1.0 yayınlanır. 1.1.0 sürümü bu taahhütleri içerir.

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

  • Medya kanallarını işlemek için daha fazla API eklendi
  • AndroidX medya kitaplığıyla birlikte çalışabilirlik için daha iyi destek
    • MediaSession#setMediaUri eklendi
    • MediaSession#getSessionCompatToken() üzerinden MediaSessionCompat.Token reklam gösterildi

Sürüm 1.1.0-rc01

28 Ekim 2020

androidx.media2:media2-*:1.1.0-rc01 yayınlanır. 1.1.0-rc01 sürümü bu taahhütleri içerir.

  • MediaController'ın kilit tutarken geri çağırma bildirmesi ve bunun da olası kilitlenmelere yol açması sorunu düzeltildi (I76c56
  • Yayınlanan bir MediaSessionCompat üzerinde getCurrentControllerInfo() çağrılırken MediaSessionImplBase#isClosed()'ün kilitlenmesine neden olan sorun düzeltildi. (aosp/1423291]
  • media2 MediaSession'ün etkin sıra öğesi kimliğini PlaybackStateCompat olarak ayarlamaması sorunu düzeltildi (aosp/1421652)
  • Hizmete bağlanırken BIND_INCLUDE_CAPABILITIES işareti eklendi. Bu işaret, izinleri varsa başsız medya uygulamalarının konuma erişmesine olanak tanır. Bu, özellikle Android Auto uygulamaları için yararlıdır. (aosp/1440731)

Sürüm 1.1.0-beta01

16 Eylül 2020

androidx.media2:media2-*:1.1.0-beta01 yayınlanır. 1.1.0-beta01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Medya öğesi değiştiğinde mevcut konumu sıfırlama
  • Bağlıyken meta verileri ve arabelleğe alma durumunu gönderme
  • Oturum ile denetleyici arasında büyük veri gönderirken kilitlenme sorununu düzeltme
  • Android 11 için media ve media2 manifest'ine <queries> ekleme
  • MediaController.getPlaylist() için NPE'yi düzeltme
  • Seek komutuna izin verilmediğinde MediaControlView cihazının ilerleme çubuğunu devre dışı bırakma
  • Bir oturumun mevcut medya öğesi değiştiğinde PlaybackStateCompat'e bildirim gönderme
  • SessionPlayer.TrackInfo için paketlemeyi düzeltme

Sürüm 1.1.0-alpha01

24 Haziran 2020

androidx.media2:media2-*:1.1.0-alpha01 yayınlanır. 1.1.0-alpha01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Meta verileri güncellerken yaşanan zamanlama sorunu düzeltildi (I45567, b/143999611)
  • SessionResult, PlayerResult'teki MediaItem'i korur (I927b0, b/154885520)
  • MediaController#setVolumeTo()'ün yanlış yayın ses düzeyini değiştirebildiği 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ınlanır. media2-{common,player,session}'un 1.0.3 sürümü bu taahhütleri içerir ve media2-widget'un 1.0.3 sürümü bu taahhütleri içerir

Hata Düzeltmeleri

  • MediaController, null geri çağırma işlevi ile oluşturulurken ortaya çıkan NullPointerException hatası düzeltildi
  • MediaPlayer.setMediaItem işlevi çağrıldıktan sonra onPlaylistChanged() işlevinin çağrılmaması sorunu düzeltildi

Sürüm 1.0.2

Sürüm 1.0.2

5 Şubat 2020

androidx.media2:media2-*:1.0.2 yayınlanır. media2-{common,player,session}'un 1.0.2 sürümü bu taahhütleri içeriyor ve media2-widget'un 1.0.2 sürümü bu taahhütleri içeriyor

Hata düzeltmeleri

  • MediaPlayer#getSelectedTrack()'te bir IndexOutOfBoundsException düzeltildi. (aosp/987003)
  • ExoPlayer'ın getDuration() işlevini çağırdığı ve medya öğesinin mevcut olmadığı durumun ele alınması iyileştirildi (aosp/987484)
  • ExoPlayer'ın, getDuration() IDLE durumundayken çağrıldığında IllegalStateException atmadığı bir hata düzeltildi (aosp/987246)
  • media2 için özel Parcelables'a izin verme (aosp/1091056)
  • close()'te takılmaya neden olan bir sorun düzeltildi (aosp/1096455)
  • MediaBrowser: subscribe() ile MediaBrowserService arasındaki hatalarla ilgili işlemler iyileştirildi (aosp/1158057)
  • Framework MediaSession ile ilgili MediaController kilitlenme sorunu düzeltildi(aosp/1177663)
  • Bağlantı kurulduğunda geri çağırma yoluyla oturum bilgilerini bildirme (aosp/1195030, b/142925848)
  • MediaController'dan beklenmedik bir şekilde SessionResult'ın birden fazla kez gönderilebildiği sorun düzeltildi (aosp/1198634)
  • MediaController'ın MediaSession'a izin verilmeyen komutlar gönderebileceği bir sorun düzeltildi. Bu nedenle MediaSession artık RESULT_ERROR_PERMISSION_DENIED gönderiyor (aosp/1204183)
  • MediaControllerView#setPlayer ile ilgili kararsız bir sorun düzeltildi (aosp/987004)

1.0.1 sürümü

1.0.1 sürümü

9 Ekim 2019

androidx.media2:media2-*:1.0.1 yayınlanır. androidx.media2:media2-{player, session}:1.0.1'un 1.0.1 sürümü bu taahhütleri içerir ve androidx.media2:media2-widget:1.0.1'un 1.0.1 sürümü bu taahhütleri içerir.

Hata düzeltmeleri

  • MediaItem alt sınıfı işlem boyunca gönderilirken oluşan RuntimeException düzeltildi (aosp/1098971)
  • MediaPlayer'ın oynatma listesi oynatırken onCurrentMediaItemChanged() işlevini yalnızca bir kez çağırmasına neden olan sorun düzeltildi
  • MediaPlayer'ın 2'den fazla öğe içeren bir oynatma listesini oynatamadığı 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 numaralı telefona yapılan aramalarda ortaya çıkan VideoView oynatma sorunu düzeltildi

Sürüm 1.0.0

5 Eylül 2019

androidx.media2:media2-*:1.0.0 yayınlanır. Bunlar media2-{player, session}:1.0.0 sürümündeki commit'ler ve media2-widget:1.0.0 sürümündeki commit'ler'dir.

Media2 1.0.0'ın Önemli Özellikleri

Media2, aşağıdaki 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.
    • Dahili ses odağı ve gürültü giderme
    • SessionPlayer'ı uygular
  • media2.session.MediaSession
    • Ayrıntılı izin kontrolleri sağlar
    • Özel düzenleri destekler
    • androidx.media2.player.MediaPlayer gibi SessionPlayer ile kullanımı kolay
    • MediaControllerCompat ile birlikte çalışabilir
  • media2.session.MediaSessionService
    • MediaLibraryService'ün hafif sürümü
    • Arka planda oynatma için hizmet yaşam döngüsü yönetimi sağlar
    • MediaControllerCompat ve MediaBrowserServiceCompat ile birlikte çalışabilir
  • media2.session.MediaLibraryService
    • Çok sayıda öğe içeren medya öğelerine veya arama sonuçlarına gitmek için daha iyi sayfalandırmayı destekler
    • MediaControllerCompat ve MediaBrowserServiceCompat ile birlikte çalışabilir
  • media2.session.MediaController
    • MediaSession, MediaSessionService ve MediaLibraryService'ye bağlanabilir
    • MediaSessionCompat ve MediaBrowserServiceCompat ile birlikte çalışabilir
  • media2.session.MediaBrowser
    • MediaController'ten devralır
    • MediaSession, MediaSessionService ve MediaLibraryService'ye bağlanabilir
    • MediaSessionCompat ve MediaBrowserServiceCompat ile birlikte çalışabilir
  • media2.widget.VideoView
    • android.widget.VideoView'ü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'ün tüm işlevlerini içerir
    • Altyazı parçası seçimi, oynatma hızı seçimi ve tam ekran modu sunar

Sürüm 1.0.0-rc02

22 Ağustos 2019

androidx.media2:media2-*:1.0.0-rc02 sürümü kullanıma sunuldu. Bu sürüme dahil edilen değişiklikleri burada bulabilirsiniz. Bu sürüm androidx.media2:media2-widget:1.0.0-rc02'ü içerir ve bu sürüme dahil edilen değişiklikleri buradan inceleyebilirsiniz.

Yeni özellikler

  • MediaControlView bir VideoView'a ait olduğunda setPlayer veya setController'nin MediaControlView (MCV) üzerinden ç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 NullPointerException'de yaşanan kararsızlığı düzeltme
  • Media2 widget'ı, mevcut medya öğesi değiştiğinde artık yeni medya öğesinin meta verilerini düzgün şekilde yönetiyor

Media2-Widget Sürüm 1.0.0-beta01

2 Temmuz 2019

androidx.media2:media2-widget:1.0.0-beta01 yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.

Yeni özellikler

  • Arka planda oynatma: VideoView, VideoView içinde oynatıcı oluşturmak yerine SessionPlayer veya MediaController'ı kullanabilir. Böylece uygulama, arka planda oynatma moduna sorunsuz bir şekilde geçebilir.
  • media2-player kitaplığıyla olan bağımlılık kaldırıldı
  • onViewTypeChangedListener eklendi

API değişiklikleri

  • Herkese açık olan görünürlüğü korumalı olarak değiştirme:
    • 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)
  • Eklendi:
    • 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üme dahil edilen taahhütleri burada bulabilirsiniz.

API değişiklikleri

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

  • Tam Guava yapısını kullanan test hedefleriniz varsa Android Gradle eklentisinin belirli sürümlerini kullanırken bağımlılık çözümü çakışması ile 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 atlayabilirsiniz. Şu anda Android Gradle eklentisinde daha sonra 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üme dahil edilen taahhütleri burada bulabilirsiniz.

Hata düzeltmeleri

  • androidx.media.player.MediaPlayer üzerinde negatif oynatma hızı ayarlandığında RESULT_ERROR_BAD_VALUE döndürülür.
  • Guava ListenableFuture'u Jetpack uygulamasıyla değiştirme (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üme dahil edilen taahhütleri burada bulabilirsiniz.

Yeni özellikler

  • Kitaplıklar 3 parçaya ayrılır: media2-common, media2-player, media2-session
  • @NonNull olarak işaretlenen null bağımsız değişkenleri için IllegalPointerException yerine NullPointerException kullanıldı.

API değişiklikleri

  • Tanıtıldığı tarih: MediaController.Builder
  • FileMediaItem.Builder'ün isteğe bağlı alanları için ayarlayıcı yöntemleri eklendi
  • MediaController ve MediaBrowser, uygulamanın bağlantı ipuçlarını MediaSession, MediaSessionService veya MediaLibraryService'e gönderebilir
  • Bazı yöntemler, Android 10 Media2 API'lerine uygun olacak ş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
  • Rating için şu alt sınıflar eklendi: HeartRating, PercentageRating, StarRating ve ThumbRating
  • Media2, artık eşzamansız yöntemler için ListenableFuture kullanıyor