Android

Exo-Player’a Dalalım (Bölüm I) | Prateek Batra tarafından

Exo Player nedir?

ExoPlayer, Android için uygulama düzeyinde bir medya oynatıcıdır. Hem yerel olarak hem de İnternet üzerinden ses ve video oynatmak için Android’in Orijinal MediaPlayer’ına bir alternatif ve birçok destek Uyarlanabilir ve Aşamalı Akış ve için destek altyazılar, çoklu ses desteği …vb

ExoPlayer Tüm Medya Desteği

Bazı Temel Tarih ve Genel Bakış (Her şeyin başladığı yere geri dönün)

Exo-Player ortaya çıkmadan önce, uygulamanızın kaynaklarında (ham kaynaklar) depolanan medya dosyalarından, dosya sistemindeki bağımsız dosyalardan veya gelen bir veri akışından ses veya videoyu kolayca entegre edebileceğiniz ve oynatabileceğiniz bir Android multimedya çerçevesi vardı. tümü MediaPlayer API’lerini kullanarak bir ağ bağlantısı üzerinden.

Exo-Player, Google I/O 2017’de resmi bir sürüm yayınladı
Derinlere inemediğimiz için videoyu izleyebilirsiniz

Aşamalı Akış nedir?

Aşamalı Akış, temelde her cihazda ve genel olarak farklı internet hızında yayınlanan tek bir mp4 dosyasına sahip olduğumuz bir video akış mekanizmasıdır.

Uyarlanabilir Akış nedir?

Uyarlanabilir Akış, herhangi bir kaynağı oynattığımızda, çözünürlük ve akış hızı temelinde kendini otomatik olarak uyarlayacağı bir video akış mekanizmasıdır.

Uyarlanabilir akışta, ekran çözünürlüğüne ve internet hızına bağlı olarak farklı video boyutu ve kalitesi varken, öyle değil. Aşamalı akış.

Gradle Bağımlılığı

senin içinde proje modül kepçe sahip olduğundan emin ol :

allprojects {
repositories {
google()
jcenter()
}
}

senin içinde uygulama modül kepçe Ekle :

Bu, exo-player uygulamasının ana bağımlılığıdır, ancak belirli özelliklerinden bazılarını kullanmak istemeniz durumunda aşağıdaki gibi kullanabilirsiniz.

implementation 'com.google.android.exoplayer:exoplayer:2.X.X'For core functionalities(exoplayer-core:2.X.X)//Required
For DASH Support (exoplayer-dash:2.X.X)
For HLS Support (exoplayer-hls:2.X.X)
For Smooth Streaming Support (exoplayer-smoothstreaming:2.X.X)
For UI components and resources Support (exoplayer-ui:2.X.X)

En sonuncusu 2.12.0
* Demo projemizde bununla birlikte en son Tarz Oyuncu Görünümünü kullanacağımız için bu önerilir.

Ayrıca şunu da eklemeyi unutmayın:

android {
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
}

Kullanıcı Arayüzü Bölümü

Şimdi Kullanıcı Arayüzüne gelince, varsayılanı kullanacağız StyledPlayerView, StyledPlayerControlView Exo-player’ın en son sürümüyle birlikte gelen

Aktivitenizin XML dosyasına aşağıdaki gibi ekleyin

Şimdi mantığa ve başlatmaya gelelim
İlk olarak, oynatıcımızı istediğimiz medya kaynağıyla oluşturmamız, başlatmamız ve ayarlamamız gerekiyor, sonrasında da faaliyet yaşam döngümüze dayanarak oynatıcımızı yayınlayabilir/yeniden başlatabiliriz.

Basit Exo-Oyuncu: Bu bizim oyuncumuz olan bir sarıcı

Veri Kaynağı Fabrikası: Bu, veri kaynağımız için bir Fabrika veri okuyucusudur, yani herhangi bir dosya, varlık, https…vb olabilir, medya kaynaklarımızın her biri bir veri kaynağı fabrikası gerektirir

Medya Kaynağı: Bu, Player’ımız tarafından oynatılacak medyayı tanımlar, sağlar ve yükler. Artık medya türümüze bağlı olarak HLS Medya Kaynağı, Aşamalı Medya Kaynağı (önceden kullanılmış) gibi farklı medya kaynak türlerine sahibiz. Çıkarıcı Medya Kaynağı), Düzgün Akışlı Medya Kaynağı..vb.

Konu hakkında endişelenmemize gerek yok ama bilgi için,

Exo-Player’a ana iş parçacığından erişilir, ancak arabelleğe alma, hazırlama veya tezler için dosya oynatma gibi dahili çalışma işlemlerinden herhangi biri için, oynatıcımızda çalıştığımızda ( örneğin bir arama) bir mesaj, bir mesaj kuyruğu aracılığıyla dahili oynatma dizisine iletilir ve bunun tersi, herhangi bir oynatma olayında ana dizimize bir mesaj iletilir.

Kullanıcı arayüzü ile bu yapılandırmaları deneyebilirsiniz

Yeni Styled UI ile birçok sorunumuzu çözdü.
Artık hız kontrolü, Altyazı, Sesli kılavuz eklememize gerek yok. Ayrıca, öncekine kıyasla çok daha yeni işlevlere sahip çok iyi bir kullanıcı arayüzümüz var.

Ancak yine de, birden fazla video kalitesi desteği eklememiz gereken özel bir UI işlevine sahip olmamız gereken durumlar olacaktır.
Beni özellikle tüm bunlar için başka bir makale yazmaya motive etmek için alkışlar ve yorumlar yapın.

Google’ın bu harika kod laboratuvarına göz atın:
https://codelabs.developers.google.com/codelabs/exoplayer-intro

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

Başa dön tuşu