Voice Interaction Service API แสดงภาพรวมของแอปต่างๆ ที่อาจใช้การควบคุมด้วยเสียงได้ การติดตั้งใช้งานสามารถพัฒนาตามหลักเกณฑ์ที่อธิบายไว้ในการพัฒนาแอป เนื้อหาในคู่มือการผสานรวมนี้จะอธิบายวิธีผสานรวมแอปเหล่านี้ลงในภาพระบบ Android Automotive OS (AAOS) ที่เฉพาะเจาะจง
คำศัพท์
คําศัพท์ที่ใช้ในคู่มือนี้
- ข้อมูลแอสซิสต์ เมื่อเริ่มเซสชันการโต้ตอบด้วยเสียง ระบบจะจับภาพมุมมองและภาพหน้าจอ และส่งข้อมูลนี้ไปยังเซสชันได้ แอปสามารถแสดงข้อมูลเพิ่มเติมได้โดยใช้
Activity#onProvideAssistData()
และActivity#onProvideAssistContent()
- Push-to-talk (PTT) ปุ่มควบคุมด้วยเสียงจริง โดยปกติจะอยู่ที่พวงมาลัย
- RecognitionService (RS) บริการจดจำเสียงที่แอปใช้ผ่าน
SpeechRecognizer
API VIA ต้องมีทั้งVoiceInteractionService
และRecognitionService
- ฟีเจอร์แตะเพื่อพูด (TTT) ปุ่มควบคุมด้วยเสียงของซอฟต์แวร์ ซึ่งมักจะรวมอยู่ใน UI ของระบบ) ใน Android เรียกวิธีนี้ว่าท่าทางควบคุม
VoiceInteractionService
บริการระบบแบบเบาที่นักพัฒนา VIA ติดตั้งใช้งาน บริการที่เลือกจะเชื่อมโยงจากบริการของระบบเมื่อเปิดเครื่อง และทำงานอยู่เสมอ- VoiceInteractionSession (VIS) คลาสนี้จะรวมตรรกะทางธุรกิจของการโต้ตอบกับผู้ใช้ โดยมีหน้าที่แสดงสถานะของการโต้ตอบด้วยเสียงแก่ผู้ใช้ จัดการคําขอ VoiceInteractor และรับข้อมูลความช่วยเหลือและภาพหน้าจอ
- VoiceInteractionSessionService (VSS) บริการที่เป็นส่วนหนึ่งของ VIA ซึ่งมีหน้าที่จัดการเซสชันการโต้ตอบด้วยเสียง บริการนี้เชื่อมโยงจากบริการระบบของ Android ระหว่างการโต้ตอบด้วยเสียงกับผู้ใช้ ตรรกะทางธุรกิจทั้งหมดของเซสชันนี้ติดตั้งใช้งานในคลาส
VoiceSession
บริการนี้รับประกันว่าจะใช้งานได้ในระหว่างเซสชันเสียงของผู้ใช้รายเดียวเท่านั้น - แอปการโต้ตอบด้วยเสียง (VIA) แอป Android ที่ออกแบบมาเพื่อใช้เป็นการควบคุมด้วยเสียง (เรียกว่าผู้ช่วย) แอปเหล่านี้จะระบุได้ด้วยการเพิ่ม
VoiceInteractionService
ในไฟล์ Manifest ระบบจะเลือกแอปเหล่านี้เป็นค่าเริ่มต้นได้เพียงแอปเดียวในแต่ละครั้ง ระบบจะคงไว้เฉพาะแอปเริ่มต้น (เชื่อมโยงจากบริการของระบบ) และแอปดังกล่าวจะเป็นตัวรับเหตุการณ์ Push-To-Talk (PTT) หรือ Tap-To-Talk (TTT)
หน้าที่รับผิดชอบ
ตารางนี้อธิบายความรับผิดชอบของคู่สัญญาแต่ละฝ่าย
ผู้ผลิตรถยนต์ (OEM) | AOSP | นักพัฒนาแอป |
---|---|---|
|
|
|
ข้อกำหนด UX
OEM มีหน้าที่รับผิดชอบสูงสุดในการจัดหาประสบการณ์การใช้งานที่ดีให้แก่ลูกค้า OEM ต้องตรวจสอบว่าบริการโต้ตอบด้วยเสียงที่ติดตั้งไว้ล่วงหน้าทั้งหมดเป็นไปตามข้อกำหนดที่อธิบายไว้ในผู้ช่วยที่โหลดไว้ล่วงหน้า: หลักเกณฑ์ UX
ประสบการณ์การใช้งาน Assistant หลัก
แอปพลิเคชันการโต้ตอบด้วยเสียง (VIA) ยานยนต์จะดำเนินการต่อไปนี้
- [ต้อง] ตอบสนองต่อทริกเกอร์การโต้ตอบด้วยเสียงที่ระบบจัดการ (PTT, TTT)
- [ต้อง] แสดงภาพความคืบหน้าของคำสั่งซื้อ (เช่น กำลังฟัง กำลังประมวลผล และกำลังดำเนินการตามคำสั่งซื้อ)
- [ต้อง] ใช้เสียงเพื่อบ่งบอกความเข้าใจและการดำเนินการตามคำขอของผู้ใช้จนเสร็จสมบูรณ์
- [ต้อง] ทำหน้าที่เป็นตัวจดจำคำพูดสำหรับแอปอื่นๆ (ดู SpeechRecognizer API)
- [ควร] ตอบสนองต่อทริกเกอร์คำสั่งให้ดำเนินการ
- [MAY] แสดงกิจกรรมการตั้งค่าที่ผู้ใช้สามารถกําหนดค่า VIA นี้ได้ (เช่น สิทธิ์ การกําหนดค่าคําสั่งให้ดำเนินการ และการลงชื่อเข้าใช้)
- [MAY] Handle assist data (
Intent#ACTION_ASSIST
) - [MAY] รองรับการโต้ตอบด้วยเสียงจาก Keyguard (หน้าจอล็อก)
คอมโพเนนต์
ในระดับสูง แอปโต้ตอบด้วยเสียงจะโต้ตอบกับองค์ประกอบต่อไปนี้
รูปที่ 1 ผู้พากย์เสียงสำหรับการโต้ตอบด้วยเสียง
รายละเอียด:
VoiceInteractionManagerService
บริการระบบนี้มีหน้าที่รับผิดชอบในการจัดการ VIA เริ่มต้น และแสดงฟังก์ชันการทำงานต่อระบบส่วนที่เหลือRecognitionService
บริการนี้จะแสดงความสามารถในการจดจำคำพูดแก่แอปอื่นๆ ในระบบSoundTrigger
. ใช้การจัดการคำสั่งให้ดำเนินการและพร้อมใช้งานสำหรับ VIA ผ่าน AlwaysOnHotwordDetectorMediaRecorder
ให้สิทธิ์เข้าถึงอินพุตเสียงสําหรับทั้งการตรวจหาคําสั่งให้ดำเนินการ (เมื่อใช้ CPU) และการจดจําคําพูดPhoneWindowManager
/CarInputService
บริการเหล่านี้มีหน้าที่รับผิดชอบ (นอกเหนือจากเรื่องอื่นๆ) ในการจัดการเหตุการณ์สำคัญ การกำหนดเส้นทาง PTT ไปยัง VIA โดยใช้VoiceInteractionManagerService
User
. ผู้ใช้โต้ตอบกับ VIA โดยใช้ทริกเกอร์ (PTT, TTT, คำสั่งให้ดำเนินการ) หรือ UI ของ Voice Plate- CarService, Notifications, Media, Telephony, ContactsProvider และอื่นๆ บริการและแอปที่ VoiceInteractionSession ใช้เพื่อดำเนินการตามคําสั่งของผู้ใช้
แนวคิดเฉพาะยานยนต์
AAOS แตกต่างจาก Android ในด้านต่อไปนี้
- นอกจากฟังก์ชันการทำงานปกติของ Assistant แล้ว AAOS VIA ยังควบคุมฟังก์ชันของยานพาหนะได้ด้วย (เช่น HVAC, เบาะ และไฟภายใน) ฟังก์ชันการทำงานเหล่านี้สามารถผสานรวมโดยใช้ CarPropertyManager API (ดูข้อมูลเพิ่มเติมได้ที่อ่านพร็อพเพอร์ตี้ของยานพาหนะ) ในกรณีที่ OEM กำหนดค่าการเข้าถึงอย่างถูกต้องตามที่อธิบายไว้ในรายการที่อนุญาตสิทธิ์ที่มีสิทธิ์
- การปรับแต่งและความสอดคล้องมีความเกี่ยวข้องในยานยนต์มากกว่ารูปแบบอื่นๆ ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้หลักเกณฑ์เหล่านี้ได้ที่ส่วนการปรับแต่ง