Medya2
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:
Groovy
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.
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 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ı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
tarihindeMEDIA_URI_PATH_SET_MEDIA_URI
veMEDIA_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
- Medya bildirimi kapatılırken ANR düzeltildi (Ifdcc2, b/148011394)
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
veMEDIA_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
- (prepare|play)From(MediaId|Uri|Search) için destek ekleme (I13475, b/176949057)
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
- VersionedParcelable'dan kaynaklanan NPE düzeltildi (I1ec28, b/177060207)
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
eklendiMediaSession#getSessionCompatToken()
üzerindenMediaSessionCompat.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
üzerindegetCurrentControllerInfo()
çağrılırkenMediaSessionImplBase#isClosed()
'ün kilitlenmesine neden olan sorun düzeltildi. (aosp/1423291] - media2
MediaSession
'ün etkin sıra öğesi kimliğiniPlaybackStateCompat
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 sonraonPlaylistChanged()
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 birIndexOutOfBoundsException
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ığındaIllegalStateException
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()
ileMediaBrowserService
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 öncesetViewType
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
- API'ler çoğunlukla
media2.session.MediaSession
- Ayrıntılı izin kontrolleri sağlar
- Özel düzenleri destekler
androidx.media2.player.MediaPlayer
gibi SessionPlayer ile kullanımı kolayMediaControllerCompat
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
veMediaBrowserServiceCompat
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
veMediaBrowserServiceCompat
ile birlikte çalışabilir
media2.session.MediaController
MediaSession
,MediaSessionService
veMediaLibraryService
'ye bağlanabilirMediaSessionCompat
veMediaBrowserServiceCompat
ile birlikte çalışabilir
media2.session.MediaBrowser
MediaController
'ten devralırMediaSession
,MediaSessionService
veMediaLibraryService
'ye bağlanabilirMediaSessionCompat
veMediaBrowserServiceCompat
ile birlikte çalışabilir
media2.widget.VideoView
android.widget.VideoView
'ü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
'ü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
birVideoView
'a ait olduğundasetPlayer
veyasetController
'ninMediaControlView
(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ığındaNullPointerException
'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 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 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
yerineNullPointerException
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 eklendiMediaController
veMediaBrowser
, uygulamanın bağlantı ipuçlarınıMediaSession
,MediaSessionService
veyaMediaLibraryService
'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ı:
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
Rating
için şu alt sınıflar eklendi:HeartRating
,PercentageRating
,StarRating
veThumbRating
Media2
, artık eşzamansız yöntemler içinListenableFuture
kullanıyor