Android telefonlarda, arabalarda, TV'lerde ve kulaklıklarda Google Asistan'la sesle etkileşimde bulunan medya uygulamaları Android medya oturumu API'leri tarafından desteklenir ve medya işlemlerini kullanır. Medya işlemleri yaşam döngüsünü takip etmek zor olabilir. Arama isteğinden alınan basit bir oynatmada bile bir şeylerin ters gidebileceği birçok ara adım vardır. Bunlar, basitleştirilmiş zaman çizelgesinde gösterildiği gibidir:
Medya Denetleyici Testi (MCT) uygulaması, Android'de medya oynatmanın karmaşık yönlerini test etmenize olanak tanır ve medya oturumu uygulamanızı doğrulamanıza yardımcı olur.
MCT, uygulamanızın MediaController
hakkında PlaybackState
ve meta verileri gibi bilgileri gösterir ve uygulamalar arası medya kontrollerini test etmek için kullanılabilir.
MCT, QA testinizi otomatikleştirmenizi sağlayan bir doğrulama test çerçevesi de içerir.
MCT'yi kullanmak için uygulamanızda bir medya tarayıcısı hizmetine sahip olmanız ve MCT'nin bu hizmete bağlanmasına izin vermeniz gerekir. Daha fazla bilgi için Medya tarayıcı hizmeti oluşturma bölümüne bakın.
MCT'yi başlatma
![MCT Lansman Sayfası](https://developer.android.com/static/media/images/MCT/MCT-Launch-Screen.png?authuser=9&hl=tr)
MCT'yi kullanıma sunduğunuzda iki liste görürsünüz:
- Active MediaSessions: MCT'yi başlattığınızda bu liste başlangıçta boş olur ve "Hiçbir medya uygulaması bulunamadı. Etkin medya oturumlarını taramak için Bildirim Dinleyici izni gerekir." İzinler ekranına gitmek ve MCT iznini etkinleştirmek için Ayarlar'ı tıklayın.
- MediaTarayıcı Hizmeti Uygulamaları - Bu liste, bir medya tarayıcısı hizmeti uygulayan uygulamaları gösterir. Bir medya tarayıcısı hizmeti kullandıysanız uygulamanız bu listede görünür ancak MCT'yi yalnızca uygulamanızı tüm bağlantıları kabul edecek şekilde yapılandırdıysanız veya MCT'yi izin verilenler listesine eklediyseniz kullanabilirsiniz. Daha fazla bilgi için onGetRoot() ile istemci bağlantılarını kontrol etme bölümüne bakın.
Telefon uygulamalarını manuel olarak test etme
MCT'nin uygulamanızın medya tarayıcısı hizmetine bağlanmasına izin verdiyseniz uygulamanız medya tarayıcısı hizmet listesi uygulamaları listesinde görünür. Orada bulun ve uygulamanızı arka planda başlatmak için Kontrol et'i tıklayın.
Aksi takdirde, önce uygulamanızı arka planda kendiniz başlatmanız, ardından etkin medya oturumları listesinde göründüğünde Kontrol et'i tıklamanız gerekir.
Teste hazırlanma ve oynama
MCT uygulamanızı kontrol etmeye başladığında, uygulamanın geçerli oturum meta verileri (şu anda seçili olan medya ve oturumun işlemeye hazır olduğu işlemler) görüntülenir.
![Kontrol Sayfası](https://developer.android.com/static/media/images/MCT/audio-focus.png?authuser=9&hl=tr)
MCT kontrolleri sayfasının üst kısmında, Arama, URI, Medya kimliği veya Yok'u seçebileceğiniz bir açılır menü ve bu seçeneklerden birini belirlerseniz Arama, URI veya Medya Kimliği ile ilişkili giriş verilerini belirtmek için bir metin alanı bulunur.
Metin alanının hemen altındaki Hazırla ve Oynat düğmeleri, seçtiğiniz işleme bağlı olarak uygun çağrıları (onPrepare()
, onPrepareFromSearch()
, onPrepareFromUri()
,
onPrepareFromMediaId()
, onPlay()
, onPlayFromSearch()
, onPlayFromUri()
,
onPlayFromMediaId()
) gerçekleştirir.
Ses odağı test ediliyor
İyi çalışan bir medya uygulaması ses odağını işleyebilmelidir. Uygulamanızla birlikte başka bir ses uygulaması çalıştırarak ses odağını test edebilirsiniz. MCT kontrolleri sayfası, ses odağını isteyen ve serbest bırakan bir düğme içerir.
Ses odağını test etmek için aşağıdaki adımları uygulayın:
- Üç süre ipucundan birini
AUDIOFOCUS_GAIN
,AUDIOFOCUS_GAIN_TRANSIENT
veyaAUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
seçmek için Ses Odağı açılır menüsünü kullanın. - Odaklanma isteğinde bulunmak için düğmeye basın.
- Odağı bırakmak için düğmeye tekrar basın.
Taşıma denetimlerini test etme
![Aktarım Denetimlerini Test Etme](https://developer.android.com/static/media/images/MCT/MCT-Controller-Screen.png?authuser=9&hl=tr)
MCT'nin kullanıcı arayüzü görünümünü görüntülemek için sola kaydırın. Bu görünümde standart medya denetleyicisi aktarım düğmeleri bulunur ve oturumun program resmi ve verileri gösterilir. Devre dışı bırakılan taşıma düğmeleri turuncu renkle daire içine alınır. Diğer tüm öğeler etkin.
Aktarım düğmelerini kullanarak oynatıcınızı test edin. Aktarım düğmelerinin durumu beklendiği gibi değişmelidir. Örneğin, OYNAT düğmesine bastığınızda bu düğme devre dışı olur ve DURAKLAT ile DURDUR düğmeleri etkin hale gelir.
İsteğe bağlı işlemlerin görüntülendiği görünüm için tekrar sola kaydırın. Her işlemin, etkin olup olmadığını gösteren bir kontrolü vardır. Etkinse üzerine tıklayarak işlemi gerçekleştirebilirsiniz.
Medya tarayıcı hizmeti sunan uygulamalar listesinden bağlandıysanız uygulamanızın içerik hiyerarşisinde yukarı ve aşağı ilerlemenize olanak tanıyan görünümler için iki kez daha sola kaydırabilir veya içerik ağacında arama yapabilirsiniz.
Video uygulamalarını manuel olarak test etme
Video uygulama denetleyicilerini test etmek için bölünmüş ekran modunu kullanın. Önce video uygulamanızı bir pencerede açın, ardından MCT'yi bölünmüş ekran modunda açın.
Doğrulama testleri çalıştırma
Doğrulama test çerçevesi, medya uygulamanızın oynatma isteğine doğru şekilde yanıt verdiğinden emin olmak için çalıştırabileceğiniz tek tıklamayla testler sunar.
Telefon uygulamasını test etme
![Test Düğmesi](https://developer.android.com/static/media/images/MCT/MCT-Test-Button.png?authuser=9&hl=tr)
Doğrulama testlerine erişmek için medya uygulamanızın yanındaki Test et düğmesini tıklayın.
MCT durumu
![Medya Kontrol Durumu](https://developer.android.com/static/media/images/MCT/MCT-Testing-Info-Screen.png?authuser=9&hl=tr)
Sonraki görünümde MCT'nin MediaController
öğeleri hakkında ayrıntılı bilgiler (ör. PlaybackState
, meta veriler ve sıra) gösterilir. Araç çubuğunun sağ üst tarafında
iki düğme var. Soldaki düğme, ayrıştırılabilir ve biçimlendirilmiş günlükler arasında geçiş yapar. Sağdaki düğme, görünümü yenileyerek en güncel bilgileri gösterir.
Test seçme
![Test Seçimi Sayfası](https://developer.android.com/static/media/images/MCT/MCT-Testing-Verification-Screen.png?authuser=9&hl=tr)
Sola hızlıca kaydırdığınızda doğrulama testleri görünümüne ulaşırsınız. Burada, mevcut testlerin kaydırılabilir bir listesini görebilirsiniz. Bir test, Şekil 7'de gösterilen arama testinden oynatma gibi bir sorgu kullanıyorsa sorgu dizesini gireceğiniz bir metin alanı olur.
MCT, aşağıdaki medya işlemleri için testler içerir ve projeye sürekli olarak daha fazla test eklenir:
- Oynat
- Arama'dan oynat
- Medya Kimliğinden Oynat
- URI'dan Oynat
- Duraklat
- Durdur
- Sonrakine Atla
- Öncekine Atla
- Sıra Öğesine Atla
- Şuraya sar:
Test sonuçları
![Başarılı Test Sonucu](https://developer.android.com/static/media/images/MCT/MCT-Testing-Success-Screen.png?authuser=9&hl=tr)
Görünümün alt kısmındaki sonuçlar alanı başlangıçta boştur. Bir testi çalıştırdığınızda sonuçlar gösterilir. Örneğin, arama testinden oynatmayı çalıştırmak için metin alanına bir arama sorgusu girin ve Testi Çalıştır'ı tıklayın. Aşağıdaki ekran görüntüsünde bir test sonucu gösterilmektedir.
Android TV uygulamasını test etme
MCT'yi Android TV'de başlattığınızda, yüklü medya uygulamalarının bir listesini görürsünüz. Bir uygulamanın, yalnızca medya tarayıcı hizmeti uyguladığında bu listede görüneceğini unutmayın.
Uygulama seçildiğinde sağda doğrulama testlerinin listesinin görüntülendiği test ekranına yönlendirilirsiniz.
Bir test çalıştırdığınızda, ekranın sol tarafında seçilen MediaController hakkında bilgiler görüntülenir. Daha fazla ayrıntı için Logcat'teki MCT günlüklerini kontrol edin.
Sorgu gerektiren testler klavye simgesiyle işaretlenir. Bu testlerden birini tıkladığınızda sorgu için bir giriş alanı açılır. Testi çalıştırmak için Enter'ı tıklayın.
Metin girişini kolaylaştırmak için adb
komutu da kullanabilirsiniz:
adb shell input text your-query
Kelimeler arasına boşluk eklemek için "%s" kullanabilirsiniz. Örneğin, aşağıdaki komut giriş alanına "merhaba dünya" metnini ekler.
adb shell input text hello%sworld
Test oluşturma
Yararlı olduğunu düşündüğünüz daha fazla test içeren bir pull isteği gönderebilirsiniz. Yeni testlerin nasıl oluşturulacağını öğrenmek için MCT GitHub Wiki adresini ziyaret edin ve doğrulama testi talimatlarını inceleyin.
Lütfen katkıda bulunma talimatlarını inceleyin.
Ek kaynaklar
MCT, medya API'lerini uygulayan uygulamalarla birlikte kullanılmalıdır. Bu tür bir uygulama örneği için Universal Android Music Player'a bakın.
Hata düzeltmelerine ve iyileştirmelere her zaman açığız. Lütfen katkıda bulunma talimatlarını inceleyin.