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