Aplikasi media yang berinteraksi melalui suara dengan Asisten Google di ponsel, mobil, TV, dan headphone Powered by Android didukung oleh API sesi media Android dan menggunakan Media Actions. Siklus proses tindakan media bisa sulit diikuti. Bahkan permintaan putar dari penelusuran yang sederhana memiliki banyak langkah perantara yang dapat mengalami error, seperti yang ditunjukkan dalam linimasa yang disederhanakan:
Aplikasi Pengujian Pengontrol Media (MCT) memungkinkan Anda menguji seluk-beluk pemutaran media di Android dan membantu memverifikasi penerapan sesi media Anda.
Aplikasi Pengujian Pengontrol Media tersedia dalam dua versi:
- Aplikasi klien diimplementasikan di atas
MediaControllerCompatlama. Hal ini memungkinkan pengujian aplikasi sesi media Anda yang dibuat di atasMediaSessionCompatlama atauMediaSessionMedia3 saat diakses oleh aplikasi eksternal melaluiMediaControllerCompatlama. Temukan kode sumber versi lama di GitHub. - Aplikasi klien diimplementasikan di atas Media3
MediaControllerterbaru. Hal ini memungkinkan pengujian aplikasi sesi media Anda yang dibuat di atasMediaSessionCompatlama atauMediaSessionMedia3 saat diakses oleh aplikasi eksternal melaluiMediaControllerMedia3. Temukan kode sumber versi Media3 di GitHub.
MCT menampilkan informasi tentang MediaController aplikasi Anda, seperti
PlaybackState dan metadatanya, serta dapat digunakan untuk menguji kontrol media antar-aplikasi.
MCT juga menyertakan framework pengujian verifikasi yang memungkinkan Anda mengotomatiskan pengujian QA.
Untuk menggunakan MCT, aplikasi Anda harus memiliki layanan browser media dan Anda harus mengizinkan MCT untuk terhubung ke layanan tersebut. Lihat Membuat layanan browser media untuk mengetahui informasi selengkapnya.
Memulai MCT
Saat meluncurkan MCT, Anda akan melihat dua daftar:
- MediaSession Aktif - Daftar ini awalnya kosong saat Anda meluncurkan MCT dan Anda akan melihat pesan "Tidak ada aplikasi media yang ditemukan. Izin Pemroses Notifikasi diperlukan untuk memindai sesi media aktif." Klik Setelan untuk membuka layar izin dan mengaktifkan izin untuk MCT.
- Implementasi MediaBrowserService - Daftar ini menampilkan aplikasi yang telah mengimplementasikan layanan browser media. Jika Anda telah menerapkan layanan browser media, aplikasi Anda akan muncul dalam daftar ini, tetapi Anda hanya dapat menggunakan MCT jika telah mengonfigurasi aplikasi untuk menerima semua koneksi atau telah masuk daftar yang diizinkan MCT. Lihat Mengontrol koneksi klien dengan onGetRoot() untuk mengetahui informasi selengkapnya.
Menguji aplikasi telepon secara manual
Jika Anda mengizinkan MCT terhubung ke layanan browser media aplikasi, aplikasi Anda akan muncul dalam daftar implementasi daftar layanan browser media. Temukan di sana dan klik Control untuk memulai aplikasi Anda di latar belakang.
Jika tidak, Anda harus memulai aplikasi sendiri di latar belakang terlebih dahulu, lalu mengklik Kontrol saat aplikasi muncul dalam daftar sesi media aktif.
Menguji persiapan dan pemutaran
Saat MCT mulai mengontrol aplikasi Anda, MCT akan menampilkan metadata sesi aplikasi saat ini: media yang saat ini dipilih dan tindakan yang siap ditangani oleh sesi.
Bagian atas halaman kontrol MCT berisi menu drop-down tempat Anda dapat memilih Search, URI, Media ID, atau None, beserta kolom teks untuk menentukan data input yang terkait dengan Search, URI, atau Media ID jika Anda memilih salah satu opsi tersebut.
Tombol Prepare dan Play tepat di bawah kolom teks melakukan
panggilan yang sesuai (onPrepare(), onPrepareFromSearch(), onPrepareFromUri(),
onPrepareFromMediaId(), onPlay(), onPlayFromSearch(), onPlayFromUri(),
onPlayFromMediaId()) bergantung pada tindakan yang Anda pilih.
Menguji fokus audio
Aplikasi media yang berperilaku baik harus dapat menangani fokus audio. Anda dapat menguji fokus audio dengan menjalankan aplikasi audio lain bersama aplikasi Anda. Halaman kontrol MCT menyertakan tombol yang meminta dan melepaskan fokus audio.
Untuk menguji fokus audio, ikuti langkah-langkah berikut:
- Gunakan menu drop-down Audio Focus untuk memilih salah satu dari tiga petunjuk durasi
AUDIOFOCUS_GAIN,AUDIOFOCUS_GAIN_TRANSIENT, atauAUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK. - Tekan tombol untuk meminta fokus.
- Tekan tombol lagi untuk melepaskan fokus.
Menguji kontrol transportasi
Geser ke kiri untuk menampilkan tampilan UI MCT. Tampilan ini memiliki tombol transport pengontrol media standar dan menampilkan gambar dan data program sesi. Tombol transport yang dinonaktifkan dilingkari dengan warna oranye. Semua yang lain aktif.
Uji pemutar Anda menggunakan tombol transport. Status tombol transport harus berubah seperti yang diharapkan. Misalnya, saat Anda menekan tombol PUTAR, tombol tersebut harus dinonaktifkan, dan tombol JEDA serta BERHENTI diaktifkan.
Geser ke kiri lagi untuk melihat tampilan yang menampilkan tindakan opsional. Setiap tindakan memiliki kontrol yang menunjukkan apakah tindakan tersebut aktif atau tidak. Jika aktif, Anda dapat melakukan tindakan dengan mengkliknya.
Jika Anda terhubung dari daftar aplikasi yang memiliki layanan browser media, Anda dapat menggeser ke kiri dua kali lagi untuk melihat tampilan yang memungkinkan Anda menelusuri hierarki konten aplikasi, atau menelusuri hierarki konten.
Menguji aplikasi video secara manual
Gunakan mode layar terpisah untuk menguji pengontrol aplikasi video. Pertama, buka aplikasi video Anda di satu jendela, lalu buka MCT dalam mode layar terpisah.
Menjalankan pengujian verifikasi
Framework pengujian verifikasi menawarkan pengujian sekali klik yang dapat Anda jalankan untuk memastikan bahwa aplikasi media Anda merespons permintaan pemutaran dengan benar.
Menguji aplikasi telepon
Untuk mengakses pengujian verifikasi, klik tombol Test di samping aplikasi media Anda.
Status MCT
Tampilan berikutnya menunjukkan informasi mendetail tentang MediaController MCT,
misalnya PlaybackState, metadata, dan antrean. Ada dua tombol di
kanan atas toolbar. Tombol di sebelah kiri beralih antara log yang dapat diurai
dan log yang diformat. Tombol di sebelah kanan memuat ulang tampilan untuk menampilkan informasi terbaru.
Memilih pengujian
Dengan menggeser ke kiri, Anda akan membuka tampilan pengujian verifikasi, tempat Anda dapat melihat daftar pengujian yang tersedia dan dapat di-scroll. Jika pengujian menggunakan kueri, seperti pengujian putar dari penelusuran yang ditampilkan di Gambar 7, ada kolom teks untuk memasukkan string kueri.
MCT mencakup pengujian untuk tindakan media berikut, dan pengujian lainnya terus ditambahkan ke project:
- Putar
- Putar Dari Penelusuran
- Putar Dari ID Media
- Putar Dari URI
- Jeda
- Hentikan
- Lewati ke Berikutnya
- Lewati ke Sebelumnya
- Lewati ke Item Antrean
- Geser Ke
Hasil tes
Area hasil di bagian bawah tampilan awalnya kosong. Tab ini akan menampilkan hasil saat Anda menjalankan pengujian. Misalnya, untuk menjalankan pengujian putar dari penelusuran, masukkan kueri penelusuran ke dalam kolom teks, lalu klik Run Test. Screenshot berikut menunjukkan hasil pengujian yang berhasil.
Menguji aplikasi Android TV
Saat meluncurkan MCT di Android TV, Anda akan melihat daftar aplikasi media yang diinstal. Perhatikan bahwa aplikasi hanya akan muncul dalam daftar ini jika mengimplementasikan layanan browser media.
Memilih aplikasi akan mengarahkan Anda ke layar pengujian, yang menampilkan daftar pengujian verifikasi di sebelah kanan.
Saat Anda menjalankan pengujian, sisi kiri layar akan menampilkan informasi tentang MediaController yang dipilih. Untuk mengetahui detail selengkapnya, periksa log MCT di Logcat.
Pengujian yang memerlukan kueri ditandai dengan ikon keyboard. Mengklik salah satu pengujian ini akan membuka kolom input untuk kueri. Klik Enter untuk menjalankan pengujian.
Untuk mempermudah input teks, Anda juga dapat menggunakan perintah adb:
adb shell input text your-query
Anda dapat menggunakan "%s" untuk menambahkan spasi di antara kata. Misalnya, perintah berikut menambahkan teks "halo dunia" ke kolom input.
adb shell input text hello%sworld
Membuat pengujian
Anda dapat mengirimkan permintaan pull dengan lebih banyak pengujian yang menurut Anda berguna. Untuk mempelajari cara membuat pengujian baru, buka Wiki GitHub MCT dan lihat petunjuk pengujian verifikasi.
Untuk mengetahui informasi selengkapnya, tinjau petunjuk kontribusi.
Referensi lainnya
MCT dimaksudkan untuk digunakan bersama dengan aplikasi yang mengimplementasikan API media. Lihat Universal Android Music Player untuk contoh aplikasi tersebut.
Perbaikan bug dan peningkatan kualitas selalu kami nantikan. Lihat petunjuk kontribusi.