Jetpack Media3, Android uygulamalarının zengin işitsel ve görsel deneyimler sunmasını sağlayan medya kitaplıklarının yeni adresidir. Media3, cihaz özelliklerine dayalı güçlü özelleştirme, güvenilirlik ve optimizasyonlarla parçalanmanın getirdiği karmaşıklığı ortadan kaldırmak için basit bir mimari sunar.
Bu belgede, Media3 ile oynatma ve düzenleme kullanım alanlarını uygulamak için temel API'ler hakkında bilgi verilmektedir.
Oynatma Bileşenleri
Media3, oynatma kullanım alanları için birkaç temel bileşen sunar. Önceki Android medya kitaplıklarıyla çalıştıysanız bu bileşenleri oluşturan sınıflar size tanıdık gelecektir.
Aşağıdaki şemada, bu bileşenlerin tipik bir uygulamada nasıl bir araya geldiği gösterilmektedir.

Medya oynatıcı
Medya oynatıcı, uygulamanızın medya dosyalarının oynatılmasına olanak tanıyan bir bileşenidir. Media3'te şunları bulabilirsiniz:
Sınıf | Açıklama | Uygulama notu |
---|---|---|
Player |
Player , oynatma, duraklatma ve arama gibi medya oynatıcıya ait geleneksel üst düzey özellikleri tanımlayan bir arayüzdür.
|
Media3'te Player arayüzü, örneğin MediaSession ve MediaController gibi çeşitli bileşenler tarafından uygulanan veya kullanılan ortak bir API'dir.
|
ExoPlayer |
ExoPlayer , Media3'teki Player arayüzünün varsayılan uygulamasıdır.
|
Media3ExoPlayer hakkında daha fazla bilgi edinin.
Medya oturumu
Medya oturumu, medya oynatıcıyla etkileşime geçmenin evrensel bir yolunu sunar. Bu sayede uygulama, medya oynatmanın reklamını harici kaynaklara yapabilir ve harici kaynaklardan oynatma kontrolü istekleri alabilir. Media3'te şunları bulabilirsiniz:
Sınıf | Açıklama | Uygulama notu |
---|---|---|
MediaSession |
Medya oturumları, uygulamanızın bir ses veya video oynatıcıyla etkileşime girmesini sağlar. Medya oynatma işleminin reklamını harici olarak yapar ve oynatma komutlarını harici kaynaklardan alır. |
Media3'te, MediaSession 'ün komutları yürütmek ve mevcut durumu elde etmek için Player 'e ihtiyacı vardır.
|
MediaSessionService |
MediaSessionService , arka planda oynatmayı kolaylaştırmak için bir medya oturumunu ve ilişkili oynatıcıyı uygulamanızın ana Activity 'ından ayrı bir hizmette tutar.
|
|
MediaController |
MediaController sınıfı genellikle uygulamanızın dışından (ör. diğer uygulamalardan veya sistemin kendisinden) komut göndermek için kullanılır.
Komutlar, ilişkili MediaSession 'ın temel Player 'ine gönderilir.
|
MediaController sınıfı Player arayüzünü uygular ancak bir yöntem çağrıldığında MediaController , bağlı MediaSession 'ye gönderilen komutu gönderir. Google Asistan gibi istemci uygulamaları, bağlı bir oturumda oynatmayı kontrol etmek için MediaController 'ü kullanabilir.
|
MediaLibraryService |
MediaLibraryService , içerik kitaplığınızı istemci uygulamalarına sunabilmeniz için ek API'ler içermesi dışında MediaSessionService 'ye benzer.
|
|
MediaBrowser |
MediaBrowser sınıfı, kullanıcının bir medya uygulamasının içerik kitaplığında gezinmesine ve hangi öğelerin oynatılacağını seçmesine olanak tanır.
|
MediaBrowser sınıfı hem MediaController hem de Player arayüzlerini uygular. MediaController 'ye benzer şekilde, Android Auto gibi istemci uygulamaları genellikle MediaBrowser 'yi uygular.
|
Media3MediaSession hakkında daha fazla bilgi edinin.
Kullanıcı arayüzü bileşenleri
Media3, video görüntüleme ve oynatma işlemini kontrol etmek için varsayılan kullanıcı arayüzü bileşenleri sağlar.
Sınıf | Açıklama | Uygulama notu |
---|---|---|
PlayerView |
Video ve oynatma kontrollerini göstermek için varsayılan View .
|
ExoPlayer , MediaController veya başka bir özel Player 'ye bağlanır.
|
Media3 kullanıcı arayüzü hakkında daha fazla bilgi edinin.
Bileşenleri düzenleme
Media3, aşağıdakiler dahil olmak üzere medya düzenleme kullanım alanları için Transformer API'lerini içerir:
- Filtre ve efekt ekleme gibi ses ve video işleme
- HDR video ve ağır çekim video gibi özel biçimleri işleme
- Birden fazla giriş dosyasını birleştirme gibi derleme
- Nihai çıkışı bir dosyaya aktarma
Sınıf | Açıklama | Uygulama notu |
---|---|---|
Transformer |
Dönüşümleri başlatmak ve durdurmak ve çalışan bir dönüşümdeki ilerleme güncellemelerini kontrol etmek için Transformer sınıfını kullanın.
|
|
Effects |
Effects nesnesi, bir medya öğesine uygulanacak ses ve video efektlerinden oluşan bir koleksiyondur.
|
|
EditedMediaItem |
EditedMediaItem , işlenecek bir medya öğesini ve bu öğeye uygulanacak düzenlemeleri temsil eder.
|
Dışa aktarma işlemini başlatmadan önce bir medya öğesine eklenen efektleri önizlemek için ExoPlayer simgesini kullanabilirsiniz.
|
Media3 Transformer hakkında daha fazla bilgi edinin.
Tanıtım videosu
Media3'ü geliştiren mühendislerin Media3'ü tanıttığı videoyu aşağıda bulabilirsiniz.
Faydalı bağlantı
- Media Developer Center
ExoPlayer
docs- Taşıma rehberi
- GitHub'da AndroidX Media3
- Media3 medya oturumu örnek uygulaması
- Evrensel Android Müzik Çalar örnek uygulaması