将语音操作集成到媒体应用中,以最大限度地减少干扰,从而提高驾驶员的安全性和便利性。当 Android Auto 或 Android Automotive OS (AAOS) 检测到并解读语音操作时,它们会通过 onPlayFromSearch
回调将该操作传递给您的应用。
收到回调后,应用会找到与查询字符串匹配的内容,然后开始播放。您的应用必须考虑各种查询类别,例如流派、音乐人、专辑、歌曲名称、电台或播放列表。此外,您的应用还必须处理空查询字符串,这表示用户发出了常规的音乐请求。
如果您的应用已在播放某一媒体项,则用户可以通过说“播放《[歌曲名]》”让应用播放另一首歌,而无需用户查看或轻触汽车的显示屏。用户可以通过点击方向盘上的相应按钮或说出启动指令“OK Google”来发起查询。
当 Android Auto 或 AAOS 检测到并解读语音操作时,Android Auto 或 AAOS 会通过 onPlayFromSearch
将该语音操作传递给应用。收到此回调后,应用会找到与 query
字符串匹配的内容,然后开始播放。
用户可以在查询中指定不同类别的字词:流派、音乐人、专辑、歌曲名称、电台或播放列表等。构建搜索支持功能时,请考虑您的应用适用的所有类别。如果 Android Auto 或 AAOS 检测到指定查询符合特定类别,则会在 extras
参数中附加 extra。您可以发送以下额外内容:
考虑使用一个空的 query
字符串,以供 Android Auto 或 AAOS 在用户未指定搜索字词的情况下发送。例如,如果用户说“放点音乐”。在这种情况下,应用可以开始播放最近播放的曲目或新曲目。
如果您的应用无法快速处理搜索请求,请勿在 onPlayFromSearch
中屏蔽。
请改为将播放状态设置为 STATE_CONNECTING
,并在异步线程上执行搜索。
开始播放后,请考虑使用相关内容填充媒体会话的队列。例如,如果用户请求播放某个专辑,您的应用可以使用该专辑的曲目列表填充队列。
除了“播放”查询,Android Auto 和 AAOS 还会识别控制播放的语音查询(例如“暂停播放音乐”和“下一首歌”),并将这些命令与相应的媒体会话回调(如 onPause
和 onSkipToNext
)相匹配。
如需详细了解如何实现语音控制播放操作,请参阅 Google 助理和媒体应用。