Ses etkileşimi hakkında

Sesli Etkileşim Hizmeti API'si, farklı potansiyel ses kontrolü uygulamalarına ilişkin bir soyutlama sağlar. Uygulamalar, Uygulama geliştirme bölümünde açıklanan yönergeler izlenerek geliştirilebilir. Bu entegrasyon kılavuzunun içeriği, bu uygulamaların belirli bir Android Automotive OS (AAOS) sistem görüntüsüne nasıl entegre edileceğini açıklamaktadır.

Terminoloji

Bu terimler bu kılavuzda kullanılmaktadır:

  • Verileri destekleyin. Sesli etkileşim oturumu başlatıldığında sistem, görüntüleri ve ekran görüntülerini yakalayabilir ve bu bilgileri oturuma aktarabilir. Uygulamalar, Activity#onProvideAssistData() ve Activity#onProvideAssistContent() uygulayarak ek bilgileri ortaya çıkarabilir.
  • Bas-konuş (PTT) . Genellikle direksiyon simidinde bulunan fiziksel ses kontrolü düğmesi.
  • Tanıma Hizmeti (RS). SpeechRecognizer API aracılığıyla uygulamalar tarafından kullanılan ses tanıma hizmeti. VIA'lar hem VoiceInteractionService hem de RecognitionService içermelidir.
  • Dokunarak konuş (TTT) . Yazılım sesli kontrol düğmesi (genellikle sistem kullanıcı arayüzünün bir parçası olarak bulunur). Android'de buna Yardımcı Hareket de denir.
  • VoiceInteractionService . VIA geliştiricisi tarafından uygulanan hafif sistem hizmeti. Seçilen hizmet, önyükleme sırasında sistem hizmetine bağlanır ve her zaman çalışır.
  • Sesli Etkileşim Oturumu (VIS). Bu sınıf, kullanıcı etkileşimi iş mantığını kapsar. Kullanıcıya sesli etkileşimin durumunu sunmak, VoiceInteractor isteklerini yönetmek ve yardım ve ekran görüntüsü verilerini almaktan sorumludur.
  • VoiceInteractionSessionService (VSS). VIA'nın parçası olan ve sesli etkileşim oturumunu yönetmekten sorumlu bir hizmet. Bu hizmet, bir kullanıcıyla sesli etkileşim sırasında Android'in sistem hizmetine bağlıdır. Bu oturumun tüm iş mantığı VoiceSession sınıfında uygulanır. Bu hizmetin yalnızca tek bir kullanıcı sesli oturumu sırasında hayatta kalması garanti edilir.
  • Sesli Etkileşim Uygulaması (VIA). Ses kontrolü görevi görecek şekilde tasarlanmış Android uygulaması ( asistan olarak anılır). Bu uygulamalar, bildirimlerine bir VoiceInteractionService eklenerek tanımlanabilir. Sistemde aynı anda bu uygulamalardan yalnızca biri varsayılan olarak seçilebilir. Yalnızca varsayılan uygulama canlı tutulacak (bir sistem hizmetinden bağlı) ve Bas-Konuş (PTT) veya Dokun-Konuş (TTT) etkinliklerinin alıcısı olacak.

Sorumluluklar

Bu tabloda her bir tarafın sorumlulukları açıklanmaktadır.

Araba Üreticileri (OEM'ler) AOSP Uygulama Geliştiricileri
  • AAOS ile uyumlu bir bilgi-eğlence sistemi oluşturun.
  • İsteğe bağlı olarak DSP özel kelime algılama desteği de dahil olmak üzere ses girişi ve çıkışını uygulayın.
  • Sesli etkileşim hizmetleri için sistem ayrıcalıklı izinler verin.
  • Uygulamanın ayarlar ekranlarına erişimle ilgili VoiceInteractionService gereksinimlerine saygı gösterin.
  • VoiceInteractionService ve ilgili API'leri tanımlayın ve geliştirin.
  • VIA geliştiricilerine API belgeleri, örnek kod ve diğer destek materyallerini sağlayın.
  • Gereksinimler ve önerilerle birlikte UX rehberliği sağlayın.
  • VoiceInteractionService API'sini, RecognitionService API'sini ve NotificationListenerService API'sini uygulayın ( Uygulama geliştirme bölümündeki ayrıntılı açıklamaya bakın).
  • OEM'ler tarafından her araba tasarım sistemine uyacak şekilde ayarlanabilen özelleştirilebilir bir kullanıcı arayüzü sağlayın.

Kullanıcı deneyimi gereksinimleri

OEM'ler, müşterilere iyi bir kullanıcı deneyimi sağlama konusunda nihai sorumluluğa sahiptir. OEM'ler, önceden yüklenmiş tüm sesli etkileşim hizmetlerinin, Önceden Yüklenmiş Yardımcılar: UX Rehberinde açıklanan gereksinimleri karşıladığından emin olmalıdır.

Temel asistan deneyimi

Bir otomotiv Sesli Etkileşim Uygulaması (VIA) aşağıdaki eylemleri gerçekleştirir:

  • [ZORUNLU] Sistem tarafından yönetilen sesli etkileşim tetikleyicilerine (PTT, TTT) yanıt verin.
  • [ZORUNLU] İlerlemelerinin görsel bir temsilini gösterin (örneğin, dinleme, işleme ve yerine getirme).
  • [ZORUNLU] Kullanıcı isteklerinin anlaşıldığını ve tamamlandığını belirtmek için ses veya sesler kullanın.
  • [ZORUNLU] Diğer uygulamalar için konuşma tanıyıcı görevi görür ( SpeechRecognizer API'sine bakın).
  • [SHOULD] Bir özel kelime tetikleyicisine yanıt verin.
  • [MAY] Kullanıcıların bu VIA'yı yapılandırabileceği bir ayar etkinliği görüntüleyin (örneğin, izinler, özel kelime yapılandırması ve oturum açma).
  • [MAY] Destek verilerini işleme ( Intent#ACTION_ASSIST )
  • [MAY] Keyguard'dan (kilit ekranı) sesli etkileşimi destekler.

Bileşenler

Yüksek düzeyde bir sesli etkileşim uygulaması şu aktörlerle etkileşime girer:

Sesli etkileşim aktörleri

Şekil 1. Sesli etkileşim aktörleri

Detaylar:

  • VoiceInteractionManagerService . Bu sistem hizmeti, varsayılan VIA'nın yönetilmesinden ve işlevselliğinin sistemin geri kalanına sunulmasından sorumludur.
  • RecognitionService . Bu hizmet, konuşma tanıma yeteneklerini sistemdeki diğer uygulamalara sunar.
  • SoundTrigger . Özel kelime yönetimini uygular ve AlwaysOnHotwordDetector aracılığıyla VIA'ların kullanımına sunulur.
  • MediaRecorder . Hem özel sözcük algılama (CPU kullanırken) hem de konuşma tanıma için ses girişine erişim sağlar.
  • PhoneWindowManager / CarInputService . Bu hizmetler (diğer şeylerin yanı sıra), önemli olayların ele alınmasından ve VoiceInteractionManagerService aracılığıyla PTT'nin VIA'ya yönlendirilmesinden sorumludur.
  • User Kullanıcı, Tetikleyiciler (PTT, TTT, Özel Kelime) veya Ses Plakası Kullanıcı Arayüzü aracılığıyla bir VIA ile etkileşime girer.
  • CarService, Bildirimler, Medya, Telefon, ContactsProvider vb. Kullanıcının komutlarını yerine getirmek için VoiceInteractionSession tarafından kullanılan hizmetler ve uygulamalar.

Otomotive özel konseptler

AAOS aşağıdaki yönlerden Android'den ayrılır:

  • AAOS VIA'lar normal Asistan işlevlerinin yanı sıra araç işlevlerini (örneğin HVAC, koltuklar ve iç aydınlatmalar) kontrol edebilir. Bu işlevler, OEM'lerin erişimi Ayrıcalıklı izin izin verilenler listesine alma bölümünde açıklandığı gibi doğru şekilde yapılandırması koşuluyla CarPropertyManager API kullanılarak entegre edilebilir (daha fazla bilgi için Araç özelliğini okuma bölümüne bakın).
  • Kişiselleştirme ve tutarlılık Otomotiv'de diğer tüm form faktörlerinden daha önemlidir. Bu yönergelerin uygulanması hakkında daha fazla bilgi edinmek için Özelleştirme'ye bakın.