Jetpack Media3, Android uygulamalarının zengin ses ve görsel deneyimler göstermesine olanak tanıyan medya kitaplıklarının yeni adresidir. Media3, parçalanmayla birlikte gelen karmaşıklığı ortadan kaldırmak için güçlü özelleştirme, güvenilirlik ve cihaz özelliklerine dayalı optimizasyonlara sahip basit bir mimari sunar.
Bu belgede, Media3 ile oynatma ve düzenleme kullanım alanlarını uygulamaya yönelik temel API'lere giriş sağlanmaktadır.
Oynatma Bileşenleri
Media3, oynatma kullanım alanları için çeşitli temel bileşenler 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ını sağlayan bir bileşenidir. Media3'te şunları bulabilirsiniz:
Sınıf | Description | Uygulama notu |
---|---|---|
Player |
Player , medya oynatıcılar için oynatma, duraklatma ve arama gibi üst düzey özellikleri tanımlayan bir arayüzdür.
|
Media3'te Player arayüzü, MediaSession ve MediaController gibi çeşitli bileşenler tarafından uygulanan veya kullanılan yaygın bir API'dir.
|
ExoPlayer |
ExoPlayer , Media3'teki Player arayüzünün varsayılan uygulamasıdır.
|
Media3 ExoPlayer hakkında daha fazla bilgi edinin
Medya oturumu
Medya oturumu, medya oynatıcıyla etkileşimde bulunmak için evrensel bir yol sağlar. Bu, bir uygulamanın harici kaynaklara medya oynatmanın reklamını yapmasına ve harici kaynaklardan oynatma kontrolü istekleri almasına olanak tanır. Media3'te şunları bulabilirsiniz:
Sınıf | Description | Uygulama notu |
---|---|---|
MediaSession |
Medya oturumları, uygulamanızın ses veya video oynatıcıyla etkileşim kurmasını sağlar. Harici olarak medya oynatmanın reklamını yaparlar ve harici kaynaklardan oynatma komutları alırlar. |
Media3'te bir MediaSession , komutları yürütmek ve mevcut durumu almak için bir Player gerektirir.
|
MediaSessionService |
MediaSessionService , arka planda oynatmayı kolaylaştırmak için bir medya oturumu ve bununla ilişkili oynatıcıyı uygulamanızın ana Activity hizmetinden ayrı bir hizmette düzenler.
|
|
MediaController |
MediaController sınıfı genellikle uygulamanızın dışından (örneğin, diğer uygulamalardan veya sistemin kendisinden) komut göndermek için kullanılır.
Komutlar, ilişkilendirilmiş MediaSession öğesinin altındaki Player öğesine gönderilir.
|
MediaController sınıfı Player arayüzünü uygular ancak bir yöntem çağrılırken komut, bağlı MediaSession öğesine gönderilir. Google Asistan gibi istemci uygulamaları, bağlı bir oturumdaki oynatmayı kontrol etmek için MediaController özelliğini kullanabilir.
|
MediaLibraryService |
MediaLibraryService , MediaSessionService ile benzerdir. Tek fark, içerik kitaplığınızı istemci uygulamalarına sunabilmeniz için ek API'ler içermesidir.
|
|
MediaBrowser |
MediaBrowser sınıfı, kullanıcının bir medya uygulamasının içerik kitaplığında gezinmesine ve oynatılacak öğeleri seçmesine olanak tanır.
|
MediaBrowser sınıfı, hem MediaController hem de Player arayüzlerini uygular. MediaController 'a benzer şekilde, Android Auto gibi istemci uygulamaları genellikle MediaBrowser kodunu uygular.
|
Media3 MediaSession hakkında daha fazla bilgi edinin.
Kullanıcı arayüzü bileşenleri
Media3, videoyu görüntülemek ve oynatmayı kontrol etmek için varsayılan kullanıcı arayüzü bileşenleri sunar.
Sınıf | Description | Uygulama notu |
---|---|---|
PlayerView |
Video ve oynatma kontrollerini göstermek için varsayılan View .
|
ExoPlayer , MediaController veya başka bir özel Player ağına bağlanır.
|
Media3 kullanıcı arayüzü hakkında daha fazla bilgi edinin.
Bileşenleri düzenleme
Media3, aşağıdakiler de dahil medya düzenleme kullanım alanları için Transformer API'lerini içerir:
- Ses ve video işleme (ör. filtre ve efekt ekleme)
- HDR video ve ağır çekim video gibi özel biçimleri işleme
- Birden fazla giriş dosyasını birleştirme gibi bileşim
- Nihai çıktıyı dosyaya aktarma
Sınıf | Description | Uygulama notu |
---|---|---|
Transformer |
Dönüşümleri başlatıp durdurmak ve çalışan bir dönüşümle ilgili ilerleme durumu güncellemelerini kontrol etmek için Transformer sınıfını kullanın.
|
|
Effects |
Effects nesnesi, bir medya öğesine uygulanacak ses ve video efektleri koleksiyonudur.
|
|
EditedMediaItem |
EditedMediaItem , işlenecek medya öğesini ve buna uygulanacak düzenlemeleri temsil eder.
|
Dışa aktarma işlemine başlamadan önce medya öğesine eklenen efektleri önizlemek için ExoPlayer kullanabilirsiniz.
|
Media3 Transformer hakkında daha fazla bilgi
Tanıtım videosu
Media3'ü oluşturan mühendislerden gelen, Media3'ü tanıtan aşağıdaki videoyu izleyin.
Faydalı bağlantı
- Medya Geliştirici Merkezi
ExoPlayer
doküman- Taşıma rehberi
- GitHub'da AndroidX Media3
- Media3 medya oturumu örnek uygulaması
- Universal Android Music Player örnek uygulaması