Medya2
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:
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 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.
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 yerineandroidx.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
veMEDIA_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
- Medya bildirimi kapatılırken yaşanan ANR düzeltildi (Ifdcc2, b/148011394)
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
veMEDIA_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
- (hazırlama|oynatma)From(MediaId|Uri|Search) (I13475, b/176949057) desteği ekleme
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
- VersionedParcelable'dan NPE düzeltildi (I1ec28, b/177060207)
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
eklendiMediaSession#getSessionCompatToken()
üzerindenMediaSessionCompat.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ündegetCurrentControllerInfo()
çağrılırkenMediaSessionImplBase#isClosed()
uygulamasının kilitlenmesine neden olan sorun düzeltildi. (aosp/1423291] - media2
MediaSession
öğesinin, etkin sıra öğesi kimliğiniPlaybackStateCompat
(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()
öğesininMediaPlayer.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()
öğesindekiIndexOutOfBoundsException
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'ınIllegalStateException
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
ilesubscribe()
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 öncesetViewType
öğ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
- API'ler çoğunlukla
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
veMediaBrowserServiceCompat
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
veMediaBrowserServiceCompat
ile birlikte kullanılabilir
media2.session.MediaController
MediaSession
,MediaSessionService
veMediaLibraryService
cihazlarına bağlanabilirMediaSessionCompat
veMediaBrowserServiceCompat
ile birlikte kullanılabilir
media2.session.MediaBrowser
- Devralınır:
MediaController
MediaSession
,MediaSessionService
veMediaLibraryService
cihazlarına bağlanabilirMediaSessionCompat
veMediaBrowserServiceCompat
ile birlikte kullanılabilir
- Devralınır:
media2.widget.VideoView
android.widget.VideoView
ürününün tüm işlevlerini içerirTextureView
ileSurfaceView
arasında geçiş sağlarMediaSession
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
birVideoView
değerine ait olduğundasetPlayer
veyasetController
öğelerininMediaControlView
(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 olmayanNullPointerException
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 birCould not resolve all artifacts
hatasıyla karşılaşırsanız projenizin derleme yapılandırmasınaandroid.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ğeriNullPointerException
olarak değiştirildi.
API değişiklikleri
MediaController.Builder
tarihinde kullanıma sunulduFileMediaItem.Builder
öğesinin isteğe bağlı alanları için setter yöntemleri eklendiMediaController
veMediaBrowser
, uygulamanın bağlantı ipuçlarınıMediaSession
,MediaSessionService
veyaMediaLibraryService
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ı:
MediaPlayer2
→MediaPlayer
MediaSession2
→MediaSession
MediaController2
→MediaController
MediaSessionService2
→MediaSessionService
MediaLibraryService2
→MediaLibraryService
MediaBrowser2
→MediaBrowser
MediaMetadata2
→MediaMetadata
Rating2
→Rating
SessionToken2
→SessionToken
SessionCommand2
→SessionCommand
SessionCommandGroup2
→SessionCommandGroup
- Aşağıdaki sınıflar birleştirildi:
DataSourceDesc2
veMediaItem2
,MediaItem
olarak birleştirildiMediaPlaylistAgent
veMediaPlayerConnector
,SessionPlayer
olarak birleştirildi
- Şu
Rating
alt sınıfları eklendi:HeartRating
,PercentageRating
,StarRating
veThumbRating
Media2
artık eş zamansız yöntemler içinListenableFuture
kullanıyor