Medya denetleyici test uygulamasını kullanma

Android telefonlar, arabalar, TV'ler ve kulaklıklarda Google Asistan ile sesli olarak etkileşime geçen medya uygulamaları, Android medya oturumu API'leri tarafından desteklenir ve medya işlemlerini kullanır. Medya işlemi yaşam döngüsünü takip etmek zor olabilir. Basit bir aramadan oynatma isteğinde bile, basitleştirilmiş zaman çizelgesinde gösterildiği gibi, bir şeylerin yanlış gidebileceği birçok ara adım vardır:

Medya İşlemi Yaşam Döngüsü

Şekil 1. Medya İşlemi Yaşam Döngüsü

Medya Denetleyici Testi (MCT) uygulaması, Android'de medya oynatmanın inceliklerini test etmenize olanak tanır ve medya oturumu uygulamanızı doğrulamanıza yardımcı olur.

Medya Denetleyici Testi uygulaması iki sürümde mevcuttur:

  • İstemci uygulaması, eski MediaControllerCompat'ün üzerine uygulanır. Bu sayede, eski bir MediaControllerCompat üzerinden harici bir uygulama tarafından erişildiğinde eski bir MediaSessionCompat veya Media3 MediaSession üzerine inşa edilmiş medya oturumu uygulamanızı test edebilirsiniz. Eski sürümün kaynak kodunu GitHub'da bulabilirsiniz.
  • İstemci uygulaması, en son Media3 MediaController üzerine uygulanır. Bu sayede, eski bir MediaSessionCompat veya Media3 MediaSession'ün üzerine inşa edilmiş medya oturumu uygulamanızı, Media3 MediaController aracılığıyla harici bir uygulama tarafından erişildiğinde test edebilirsiniz. Media3 sürümünün kaynak kodunu GitHub'da bulabilirsiniz.

MCT, uygulamanızın MediaController ile ilgili bilgileri (ör. PlaybackState ve meta veriler) gösterir ve uygulama içi medya denetimlerini test etmek için kullanılabilir. MCT, kalite testi yapmanızı otomatikleştirmenize olanak tanıyan bir doğrulama testi çerçevesi de içerir.

MCT'yi kullanmak için uygulamanızda bir medya tarayıcısı hizmetinin bulunması ve MCT'nin bu hizmete bağlanmasına izin vermeniz gerekir. Daha fazla bilgi için Medya tarayıcı hizmeti oluşturma başlıklı makaleyi inceleyin.

MCT'yi başlatma

MCT Lansman Sayfası
Şekil 2. MCT Lansman Sayfası

MCT'yi başlattığınızda iki liste görürsünüz:

  • Etkin MediaSessions: MCT'yi başlattığınızda bu liste başlangıçta boştur ve "Medya uygulaması bulunamadı" mesajını görürsünüz. Etkin medya oturumlarını taramak için bildirim dinleyici izni gereklidir." İzinler ekranına gidip MCT iznini etkinleştirmek için Ayarlar'ı tıklayın.
  • MediaBrowserService Uygulamaları: Bu listede, medya tarayıcısı hizmeti uygulayan uygulamalar gösterilir. Bir medya tarayıcısı hizmeti uyguladı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 başlıklı makaleyi inceleyin.

Telefon uygulaması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ının listesinde görünür. Uygulamanızı arka planda başlatmak için Denet'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 Denet'i tıklamanız gerekir.

Test hazırlama ve oynama

MCT, uygulamanızı kontrol etmeye başladığında uygulamanın mevcut oturum meta verilerini gösterir: Şu anda seçili olan medya ve oturumun işlemeye hazır olduğu işlemler.

Kontrol sayfası
Şekil 3. Kontrol sayfası

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 seçerseniz 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ğını test etme

İyi çalışan bir medya uygulaması, ses odağını yönetebilmelidir. Uygulamanızla birlikte başka bir ses uygulaması çalıştırarak ses odağını test edebilirsiniz. MCT kontrol sayfasında, ses odağını isteyen ve serbest bırakan bir düğme bulunur.

Ses odağını test etmek için aşağıdaki adımları uygulayın:

  1. AUDIOFOCUS_GAIN, AUDIOFOCUS_GAIN_TRANSIENT veya AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK olmak üzere üç süre ipucundan birini seçmek için Ses Odağı açılır menüsünü kullanın.
  2. Odak isteğinde bulunmak için düğmeye basın.
  3. Odağı kaldırmak için düğmeye tekrar basın.

Aktarma kontrollerini test etme

Aktarma kontrollerini test etme
Şekil 4. Aktarım denetimlerini test etme

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 oynatıcı aktarma düğmeleri bulunur ve oturumun program resmi ile verileri gösterilir. Devre dışı bırakılan aktarım düğmeleri turuncu renkle daire içine alınır. Diğer tüm seçenekler etkindir.

Oynatma düğmelerini kullanarak oynatıcınızı test edin. Aktarım düğmelerinin durumu beklendiği gibi değişecektir. Örneğin, OYNAT düğmesine bastığınızda düğme devre dışı bırakılır ve DURAKLAT ile DURDUR düğmeleri etkinleştirilir.

İsteğe bağlı işlemleri gösteren bir görünüm için tekrar sola kaydırın. Her işlemde, etkin olup olmadığını gösteren bir kontrol bulunur. Etkinse tıklayarak işlemi gerçekleştirebilirsiniz.

Medya tarayıcısı hizmeti olan uygulamalar listesinden bağlandıysanız uygulamanızın içerik hiyerarşisinde yukarı ve aşağı gezinmenize veya içerik ağacında arama yapmanıza olanak tanıyan görünümler için sola iki kez daha kaydırabilirsiniz.

Video uygulamasını manuel olarak test etme

Video uygulaması kontrol cihazlarını test etmek için bölünmüş ekran modunu kullanın. Önce video uygulamanızı bir pencerede, ardından MCT'yi bölünmüş ekran modunda açın.

Doğrulama testlerini çalıştırma

Doğrulama testi çerçevesi, medya uygulamanızın oynatma isteğine doğru şekilde yanıt vermesini sağlamak için çalıştırabileceğiniz tek tıklamayla testler sunar.

Telefon uygulamasını test etme

Test düğmesi
Şekil 5. Test düğmesi

Doğrulama testlerine erişmek için medya uygulamanızın yanındaki Test düğmesini tıklayın.

MCT durumu

Medya Kontrolü Durumu
Şekil 6. Medya Kontrol Durumu

Sonraki görünümde, MCT'nin MediaController (ör. PlaybackState), meta verileri ve sırası hakkında ayrıntılı bilgiler gösterilir. Araç çubuğunun sağ üst kısmında iki düğme vardır. Soldaki düğme, ayrıştırılabilir ve biçimlendirilmiş günlükler arasında geçiş yapar. Sağdaki düğme, en güncel bilgileri görüntülemek için görünümü yeniler.

Test seçme

Test Seçimi Sayfası
Şekil 7. Test Seçimi Sayfası

Ekranı sola kaydırarak, mevcut testlerin kaydırılabilir bir listesini görebileceğiniz doğrulama testleri görünümüne ulaşırsınız. Bir testte sorgu kullanılıyorsa (Şekil 7'de gösterilen aramadan oynatma testi gibi) sorgu dizesini gireceğiniz bir metin alanı bulunur.

MCT, aşağıdaki medya işlemleri için testler içerir ve projeye sürekli olarak daha fazla test eklenir:

  • Oynat
  • Arama'dan Çalma
  • Medya Kimliğinden Oynatma
  • URI'den Çalma
  • Duraklat
  • Durdur
  • Sonrakine Atla
  • Öncekine Atla
  • Sıra Öğesine Atla
  • Şuraya sar:

Test sonuçları

Başarılı bir test sonucu
Şekil 8. Başarılı bir test sonucu

Görünümün alt kısmındaki sonuçlar alanı başlangıçta boştur. Test çalıştırdığınızda sonuçları gösterir. Örneğin, oynatma işlemini arama testinden ç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 başarılı bir test sonucu gösterilmektedir.

Android TV uygulamasını test etme

Android TV'de MCT'yi başlattığınızda yüklü medya uygulamalarının listesini görürsünüz. Bir uygulamanın bu listede görünmesi için medya tarayıcısı hizmeti uygulaması gerektiğini unutmayın.

TV'de MCT Lansman Sayfası

Şekil 9. TV'de MCT Başlatma Sayfası

Bir uygulama seçtiğinizde sağ tarafta doğrulama testlerinin listesini gösteren test ekranına yönlendirilirsiniz.

TV'deki Doğrulama Testleri Sayfası

Şekil 10. TV'deki Doğrulama Testleri Sayfası

Bir test çalıştırdığınızda ekranın sol tarafında, seçili MediaController hakkında bilgiler gösterilir. Daha fazla bilgi için Logcat'teki MCT günlüklerini kontrol edin.

TV'deki Test Bilgileri Sayfası

Şekil 11. TV'deki Test Bilgileri Sayfası

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 tuşuna basın.

Metin girişini kolaylaştırmak için adb komutunu 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 çekme isteği gönderebilirsiniz. Yeni testler oluşturmayı öğrenmek için MCT GitHub Wiki'yi ziyaret edin ve doğrulama testi talimatlarını inceleyin.

Lütfen katkı 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üzeltmeleri ve iyileştirmeler her zaman memnuniyetle karşılanır. Lütfen katkı talimatlarına bakın.