Con l'app di prova del controller multimediale

App multimediali che interagiscono tramite comandi vocali con l'Assistente Google su smartphone Android. le auto, le TV e le cuffie si basano sulle API delle sessioni multimediali Android e utilizzano le azioni multimediali. Il ciclo di vita delle azioni multimediali può essere difficile da seguire. Anche una semplice riproduzione dalla ricerca prevede molti passaggi intermedi per i quali si potrebbe verificare un problema, come mostrato in la sequenza temporale semplificata:

Il ciclo di vita delle azioni multimediali

Figura 1. il ciclo di vita delle azioni multimediali

Il Test Controller Media (MCT) consente di verificare le complessità della riproduzione di contenuti multimediali su Android e per verificare l'implementazione della sessione multimediale.

Il MCT mostra le informazioni relative ai MediaController della tua app, ad esempio PlaybackState e metadati e può essere utilizzato per testare i controlli multimediali tra app. La MCT include anche un test di verifica che consente di automatizzare i test di QA.

Per utilizzare MCT, la tua app deve disporre di un servizio di browser multimediale e devi consentire al MCT di connettersi. Consulta Creazione di un servizio di browser multimediale per ulteriori informazioni.

Avvio di una campagna MCT

Pagina di lancio MCT
Figura 2. la pagina di lancio di MCT

Quando avvii MCT, vengono visualizzati due elenchi:

  • Active MediaSessions: questo elenco è inizialmente vuoto quando avvii la MCT e verrà visualizzato il messaggio "Nessuna app multimediale trovata. Notifiche Per eseguire la scansione delle sessioni multimediali attive è necessaria l'autorizzazione del listener." Fai clic su Impostazioni per vai alla schermata delle autorizzazioni e attiva l'autorizzazione per l'MCT.
  • MediaBrowserService Implementations (Implementazioni di MediaBrowserService): questo elenco mostra le app che hanno implementato un servizio di browser multimediale. Se hai implementato un servizio di browser multimediale, la tua app verrà visualizzata in questo elenco, ma puoi utilizzare questa opzione solo se hai configurato l'app in modo che accetti tutti connessioni di rete o inserito nella lista consentita. Consulta Controllo delle connessioni client con onGetRoot() per ulteriori informazioni.

Testare manualmente un'app per smartphone

Se hai consentito all'MCT di connettersi al servizio di browser multimediale della tua app, la tua app Viene riportato nell'elenco delle implementazioni dell'elenco di servizi dei browser multimediali. Trovalo lì e fai clic su Controlla per avviare l'app in background.

In caso contrario, devi prima avviare l'app autonomamente in background e poi fare clic su Controllo quando viene visualizzato nell'elenco delle sessioni multimediali attive.

Preparati e gioca ai test

Quando l'MCT inizia a controllare la tua app, viene visualizzata la sessione corrente dell'app. Metadati: i contenuti multimediali attualmente selezionati e le azioni a cui si svolge la sessione sono pronti a gestirle.

Pagina di controllo
Figura 3. la pagina di controllo

La parte superiore della pagina Controlli MCT contiene un menu a discesa in cui puoi selezionare Ricerca, URI, ID media o Nessuno, insieme a un campo di testo per specificare i dati di input associati alla ricerca, all'URI o all'ID multimediale se seleziona una di queste opzioni.

I pulsanti Prepara e Riproduci sotto il campo di testo eseguono la chiamate appropriate (onPrepare(), onPrepareFromSearch(), onPrepareFromUri(), onPrepareFromMediaId(), onPlay(), onPlayFromSearch(), onPlayFromUri(), onPlayFromMediaId()) a seconda dell'azione selezionata.

Test del focus audio in corso...

Un'app multimediale ben gestita deve essere in grado di gestire l'audio al focus. Puoi testare il focus audio eseguendo un'altra app audio insieme alla tua app. La pagina Controlli MCT include una che richiede e rilascia lo stato attivo dell'audio.

Per testare il focus audio, procedi nel seguente modo:

  1. Utilizza il menu a discesa Messa a fuoco audio per selezionare uno dei tre suggerimenti relativi alla durata. AUDIOFOCUS_GAIN, AUDIOFOCUS_GAIN_TRANSIENT o AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK.
  2. Premi il pulsante per richiedere lo stato attivo.
  3. Premi di nuovo il pulsante per rilasciare la messa a fuoco.

Test dei controlli di trasporto

Test dei controlli per il trasporto
Figura 4. Test dei controlli per il trasporto

Scorri il dito verso sinistra per visualizzare la visualizzazione UI dell'MCT. Questa visualizzazione ha i pulsanti di trasporto standard del controller multimediale e mostra l'immagine e i dati del programma. I pulsanti di trasporto disattivati sono cerchiati all'interno arancione. Tutti gli altri sono attivi.

Testa il player usando i pulsanti di trasporto. Lo stato dei pulsanti di trasporto dovrebbe cambiare come previsto. Ad esempio, quando premi il pulsante RIPRODUCI, dovrebbero essere disattivati e i pulsanti PAUSA e INTERROMPI diventano attivi.

Scorri di nuovo verso sinistra per una visualizzazione che mostra le azioni facoltative. Ogni azione ha un controllo che mostra se è attivo o meno. Se è attiva, puoi esegui l'azione facendoci clic sopra.

Se hai effettuato la connessione dall'elenco di app che dispongono di un servizio di browser multimediale, puoi scorri verso sinistra altre due volte per visualizzare le visualizzazioni che ti consentono di camminare su e giù per i contenuti dell'app la gerarchia di contenuti o eseguire ricerche nella struttura ad albero dei contenuti.

Testare manualmente un'app video

Utilizzare la modalità schermo diviso per testare i controller delle app video. Innanzitutto, apri l'app video in una finestra e aprire il MCT in modalità schermo diviso.

Esecuzione dei test di verifica

Il framework di test di verifica offre test con un solo clic che puoi eseguire assicurati che la tua app multimediale risponda correttamente a una richiesta di riproduzione.

Test di un'app per smartphone

Il pulsante Test
Figura 5. Il pulsante Test

Per accedere ai test di verifica, fai clic sul pulsante Test accanto ai contenuti multimediali dell'app.

Stato MCT

Stato dei controlli multimediali
Figura 6. lo stato dei controlli multimediali

Nella visualizzazione successiva vengono mostrate informazioni dettagliate sulle MediaController dell'MCT, ad esempio PlaybackState, metadati e coda. Ci sono due pulsanti in alto a destra nella barra degli strumenti. Il pulsante a sinistra consente di passare dalla funzionalità analizzabile e log formattati. Il pulsante a destra aggiorna la visualizzazione le informazioni più aggiornate.

Selezione di un test

Pagina di selezione del test
Figura 7. la pagina di selezione del test

Se scorri verso sinistra, si apre la visualizzazione dei test di verifica, dove puoi per visualizzare un elenco scorrevole di test disponibili. Se un test utilizza una query, ad esempio di ricerca mostrata nella Figura 7, è possibile un campo di testo per inserire la stringa di query.

L'MCT include test per le seguenti azioni multimediali e altri test vengono continuamente aggiunti al progetto:

  • Riproduci
  • Riproduci dalla Ricerca
  • Riproduci da ID elemento multimediale
  • Riproduci da URI
  • Metti in pausa
  • Interrompi
  • Vai a successivo
  • Vai al precedente
  • Vai all'elemento in coda
  • Vai a

Risultati del test

Un risultato del test riuscito
Figura 8. un risultato del test riuscito

L'area dei risultati nella parte inferiore della visualizzazione è inizialmente vuota. Verranno mostrate i risultati quando esegui un test. Ad esempio, per eseguire il test di riproduzione dal test di ricerca, inserisci una query di ricerca nel campo di testo e fai clic su Esegui test. Le seguenti screenshot mostra il risultato di un test riuscito.

Test di un'app Android TV

Quando avvii MCT su Android TV, viene visualizzato un elenco di app multimediali installate. Tieni presente che un'app viene visualizzata in questo elenco solo se implementa un browser multimediale. completamente gestito di Google Cloud.

La pagina di lancio MCT sulla TV

Figura 9. la pagina di lancio di MCT sulla TV

Quando selezioni un'app, viene visualizzata la schermata dei test, che sulla destra visualizza un elenco di test di verifica.

La pagina dei test di verifica sulla TV

Figura 10. La pagina dei test di verifica sulla TV

Quando esegui un test, sul lato sinistro dello schermo vengono visualizzate informazioni sul MediaController selezionato. Per ulteriori dettagli, controlla i log MCT in Logcat.

La pagina delle informazioni sul test sulla TV

Figura 11. la pagina delle informazioni sul test sulla TV

I test che richiedono una query sono contrassegnati con un'icona a forma di tastiera. Facendo clic su una delle questi test aprono un campo di immissione per la query. Fai clic su Invio per eseguire il test.

Per semplificare l'inserimento di testo, puoi anche utilizzare un comando adb:

adb shell input text your-query

Puoi usare "%s" per aggiungere uno spazio tra le parole. Ad esempio, aggiunge il testo "hello world" al campo di immissione.

adb shell input text hello%sworld

Creazione di un test

Puoi inviare una richiesta di pull con altri test che ritieni utili. Per scoprire come creare nuovi test, visita la Wiki su GitHub MCT e vediamo come test di verifica istruzioni.

Consulta le istruzioni per il contributo.

Risorse aggiuntive

L'MCT è pensato per essere utilizzato insieme ad app che implementano API multimediali. Consulta le Lettore di musica universale Android per vedere un esempio di questa app.

Correzioni di bug e miglioramenti sono sempre benvenuti. Consulta le istruzioni per il contributo.