Integrate voice actions into your media app to enhance driver safety and
convenience by minimizing distractions. When Android Auto or Android Automotive
OS (AAOS) detects and interprets a voice action, they deliver the action to your
app through the onPlayFromSearch
callback.
Upon receiving the callback, your app finds content that matches the query string and then starts playback. Your app must account for various query categories, such as genre, artist, album, song name, radio station, or playlist. Additionally, your app must handle an empty query string, which indicates a general request for music.
If your app is playing one media item, the user can say "Play [song title]" to tell your app to play a different song without looking at or touching the car's display. Users can initiate queries by clicking the appropriate buttons on their steering wheel or speaking the hotwords "OK Google."
When Android Auto or AAOS detects and interprets a voice action, Android Auto or
AAOS delivers that voice action to the app through onPlayFromSearch
. Upon
receiving this callback, the app finds content to match the query
string and
then starts playback.
Users can specify different categories of terms in their query: genre, artist,
album, song name, radio station, or playlist, among others. When building
support for search, account for all the categories that make sense for your app.
If Android Auto or AAOS detects that a given query fits into a specific
category, extras are appended in the extras
parameter. You can send these
extras:
Account for an empty query
string, which can be sent by Android Auto or AAOS
if the user doesn't specify search terms. For example, if the user says
"Play some music." In this case, your app can start a recently played or new
track.
If your app can't process a search quickly, don't block in onPlayFromSearch
.
Instead, set the playback state to STATE_CONNECTING
and perform the
search on an async thread.
When playback starts, consider populating the media session's queue with related content. For example, if the user requests an album to be played, your app could fill the queue with the album's tracklist.
In addition to "Play" queries, Android Auto and AAOS recognize voice queries to
control playback like "pause music" and "next song" and match these commands to
the appropriate media session callbacks, such as onPause
and onSkipToNext
.
To learn more about implementing voice-enabled playback actions, see Google Assistant and media apps.