Aplikasi media yang berinteraksi dengan suara melalui Asisten Google di ponsel, mobil, TV, dan headphone Android didukung oleh API sesi media Android dan menggunakan tindakan media. Siklus proses tindakan media mungkin sulit diikuti. Bahkan pemutaran sederhana dari permintaan penelusuran memiliki banyak langkah perantara yang dapat mengalami masalah, seperti yang ditunjukkan dalam linimasa sederhana:
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 diterapkan di atas
MediaControllerCompat
lama. Hal ini memungkinkan pengujian aplikasi sesi media yang dibuat di atasMediaSessionCompat
lama atauMediaSession
Media3 saat diakses oleh aplikasi eksternal melaluiMediaControllerCompat
lama. Temukan kode sumber versi lama di GitHub. - Aplikasi klien diterapkan di atas Media3
MediaController
terbaru. Hal ini memungkinkan pengujian aplikasi sesi media yang dibuat di atasMediaSessionCompat
lama atauMediaSession
Media3 saat diakses oleh aplikasi eksternal melaluiMediaController
Media3. 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 Mem-build layanan browser media untuk mengetahui informasi selengkapnya.
Memulai MCT

Saat meluncurkan MCT, Anda akan melihat dua daftar:
- Active MediaSessions - Daftar ini awalnya kosong saat Anda meluncurkan MCT dan Anda akan melihat pesan "Tidak ada aplikasi media yang ditemukan. Izin Notification Listener diperlukan untuk memindai sesi media yang aktif." Klik Setelan untuk membuka layar izin dan mengaktifkan izin untuk MCT.
- Implementasi MediaBrowserService - Daftar ini menampilkan aplikasi yang telah menerapkan layanan browser media. Jika 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 mengizinkan MCT. Lihat Mengontrol koneksi klien dengan onGetRoot() untuk mengetahui informasi selengkapnya.
Menguji aplikasi ponsel secara manual
Jika Anda mengizinkan MCT untuk terhubung ke layanan browser media aplikasi, aplikasi Anda akan muncul dalam daftar implementasi daftar layanan browser media. Temukan di sana dan klik Kontrol untuk memulai aplikasi di latar belakang.
Jika tidak, Anda harus memulai aplikasi sendiri terlebih dahulu di latar belakang, lalu mengklik Kontrol saat muncul dalam daftar sesi media aktif.
Pengujian persiapan dan pemutaran
Saat MCT mulai mengontrol aplikasi Anda, MCT akan menampilkan metadata sesi saat ini: media yang saat ini dipilih dan tindakan yang disiapkan sesi untuk ditangani.

Bagian atas halaman kontrol MCT berisi menu drop-down tempat Anda dapat memilih Penelusuran, URI, ID Media, atau Tidak ada, beserta kolom teks untuk menentukan data input yang terkait dengan Penelusuran, URI, atau ID Media jika Anda memilih salah satu opsi tersebut.
Tombol Siapkan dan Putar tepat di bawah kolom teks akan 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 transpor

Geser ke kiri untuk menampilkan tampilan UI MCT. Tampilan ini memiliki tombol transpor pengontrol media standar dan menampilkan gambar dan data program sesi. Tombol transpor yang dinonaktifkan dilingkari dengan warna oranye. Semua yang lain aktif.
Uji pemutar Anda menggunakan tombol transpor. Status tombol transportasi akan berubah seperti yang diharapkan. Misalnya, saat Anda menekan tombol PLAY, tombol tersebut akan dinonaktifkan, dan tombol PAUSE dan STOP akan 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 terhubung dari daftar aplikasi yang memiliki layanan browser media, Anda dapat menggeser ke kiri dua kali lagi untuk tampilan yang memungkinkan Anda menjelajahi hierarki konten aplikasi ke atas dan ke bawah, atau menelusuri hierarki konten.
Menguji aplikasi video secara manual
Gunakan mode layar terpisah untuk menguji pengontrol aplikasi video. Pertama, buka aplikasi video 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 aplikasi media Anda merespons permintaan pemutaran dengan benar.
Menguji aplikasi telepon

Untuk mengakses pengujian verifikasi, klik tombol Uji di samping aplikasi media Anda.
Status MCT

Tampilan berikutnya menampilkan 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 diuraikan
dan berformat. Tombol di sebelah kanan memuat ulang tampilan untuk menampilkan
informasi terbaru.
Memilih pengujian

Dengan menggeser ke kiri, Anda akan melihat 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 pada Gambar 7, ada kolom teks untuk memasukkan string kueri.
MCT menyertakan pengujian untuk tindakan media berikut, dan pengujian lainnya terus ditambahkan ke project:
- Putar
- Memutar dari Penelusuran
- ID Putar Dari Media
- Memutar dari URI
- Jeda
- Berhenti
- Lewati ke Berikutnya
- Lewati ke Sebelumnya
- Langsung ke Item Antrean
- Cari Ke
Hasil uji

Area hasil di bagian bawah tampilan awalnya kosong. Tindakan ini akan menampilkan hasil saat Anda menjalankan pengujian. Misalnya, untuk menjalankan pengujian pemutaran dari penelusuran, masukkan kueri penelusuran ke kolom teks, lalu klik Run Test. Screenshot berikut menampilkan 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 menerapkan 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 "hello world" 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 mem-build pengujian baru, buka Wiki GitHub MCT dan lihat petunjuk pengujian verifikasi.
Tinjau petunjuk kontribusi.
Referensi lainnya
MCT dimaksudkan untuk digunakan bersama aplikasi yang mengimplementasikan API media. Lihat Universal Android Music Player untuk contoh aplikasi tersebut.
Perbaikan bug dan peningkatan selalu diterima. Lihat petunjuk kontribusi.