27 Mart 2025'ten itibaren AOSP'yi derlemek ve AOSP'ye katkıda bulunmak için aosp-main
yerine android-latest-release
kullanmanızı öneririz. Daha fazla bilgi için AOSP'de yapılan değişiklikler başlıklı makaleyi inceleyin.
Sesli etkileşim hakkında
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Voice Interaction Service API, farklı potansiyel sesli kontrol uygulamaları için soyutlama sağlar. Uygulamalar, Uygulama geliştirme bölümünde açıklanan yönergelere göre geliştirilebilir.
Bu entegrasyon kılavuzundaki içerikte, bu uygulamaların belirli bir Android Automotive OS (AAOS) sistem resmine nasıl entegre edileceği açıklanmaktadır.
Terminoloji
Bu kılavuzda aşağıdaki terimler kullanılır:
- Destek verileri. Sesli etkileşim oturumu başlatıldığında sistem, görünümleri ve ekran görüntülerini yakalayabilir ve bu bilgileri oturuma aktarabilir. Uygulamalar,
Activity#onProvideAssistData()
ve Activity#onProvideAssistContent()
'i uygulayarak ek bilgiler gösterebilir.
- Bas-konuş (PTT). Genellikle direksiyonda bulunan fiziksel sesli kontrol düğmesi.
- RecognitionService (RS). Uygulamalar tarafından
SpeechRecognizer
API aracılığıyla kullanılan ses tanıma hizmeti. VIA'lar hem VoiceInteractionService
hem de RecognitionService
öğesini içermelidir.
- Dokunarak konuşma (TTT). Yazılım sesli kontrol düğmesi (genellikle sistem kullanıcı arayüzünün bir parçası olarak eklenir). Android'de bu işleme Asistan Hareketi denir.
VoiceInteractionService
. VIA geliştiricisi tarafından uygulanan hafif sistem hizmeti. Seçilen hizmet, sistem hizmetinden önyükleme sırasında bağlanır ve her zaman çalışır.
- VoiceInteractionSession (VIS). Bu sınıf, kullanıcı etkileşimi iş mantığını kapsar. Kullanıcıya sesli etkileşimin durumunu göstermekten, VoiceInteractor isteklerini işlemekten, yardım ve ekran görüntüsü verilerini almaktan sorumludur.
- VoiceInteractionSessionService (VSS). Sesli etkileşim oturumunu yönetmekten sorumlu olan, VIA'nın bir parçası olan bir hizmet. Bu hizmet, kullanıcıyla sesli etkileşim sırasında Android'in sistem hizmetinden bağlanır. Bu oturumun tüm iş mantığı
VoiceSession
sınıfında uygulanır.
Bu hizmetin yalnızca tek bir kullanıcının ses oturumu sırasında etkin kalacağı garanti edilir.
- Sesli Etkileşim Uygulaması (VIA). Sesli kontrol olarak hizmet etmek için tasarlanmış Android uygulaması (asistan olarak adlandırılır). Bu uygulamalar, manifest dosyalarına
VoiceInteractionService
ekleyerek tanımlanabilir.
Sistemde aynı anda bu uygulamalardan yalnızca biri varsayılan olarak seçilebilir.
Yalnızca varsayılan uygulama etkin kalır (bir sistem hizmetinden bağlanır) ve Bas-Konuş (PTT) veya Dokun-Konuş (TTT) etkinliklerini alır.
Sorumluluklar
Bu tabloda her tarafın sorumlulukları açıklanmaktadır.
Otomobil üreticileri (OEM'ler) |
AOSP |
Uygulama Geliştiriciler |
- AAOS ile uyumlu bir bilgi-eğlence sistemi geliştirin.
- İsteğe bağlı olarak DSP anahtar kelime algılama desteği de dahil olmak üzere ses girişi ve çıkışı uygulayın.
- Sesli etkileşim hizmetleri için sisteme ayrıcalıklı izinler verin.
- Uygulamanın ayarlar ekranlarına erişimle ilgili
VoiceInteractionService koşullarına uyun.
|
VoiceInteractionService ve ilgili API'leri tanımlayıp geliştirin.
- VIA geliştiricilerine API dokümanları, örnek kod ve diğer destek materyallerini sağlayın.
- Koşullar ve öneriler içeren kullanıcı deneyimi rehberliği sağlayın.
|
VoiceInteractionService API, RecognitionService API ve NotificationListenerService API'yi uygulayın (Uygulama geliştirme bölümündeki ayrıntılı açıklamaya bakın).
- OEM'ler tarafından her araç tasarım sistemine uyacak şekilde ayarlanabilen özelleştirilebilir bir kullanıcı arayüzü sağlayın.
|
Kullanıcı deneyimi şartları
Müşterilere iyi bir kullanıcı deneyimi sunma sorumluluğunun son sahibi OEM'lerdir.
OEM'ler, önceden yüklenmiş tüm sesli etkileşim hizmetlerinin Önceden Yüklenmiş Asistanlar: Kullanıcı Deneyimi Kılavuzu'nda açıklanan şartları karşıladığından emin olmalıdır.
Temel Asistan deneyimi
Otomotiv Sesli Etkileşim Uygulaması (VIA), aşağıdaki işlemleri gerçekleştirir:
- [ZORUNLU] Sistem tarafından işlenen sesli etkileşim tetikleyicilerine (PTT, TTT) yanıt verin.
- [ZORUNLU] İlerleme durumunun görsel bir temsilini gösterin (ör. 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 algılayıcı olarak hizmet vermelidir (SpeechRecognizer API'ye bakın).
- [SHOULD] Özel kelime tetikleyicisine yanıt vermelidir.
- [MAY] Kullanıcıların bu VIA'yı yapılandırabileceği bir ayarlar etkinliği gösterin (ör. izinler, özel kelime yapılandırması ve oturum açma).
- [MAY] Yardım verilerini işleme (
Intent#ACTION_ASSIST
)
- [MAY] Klavye Koruyucu'dan (kilit ekranı) sesli etkileşimi destekleme.
Bileşenler
Ses etkileşimi uygulamaları genel olarak aşağıdaki aktörlerle etkileşim kurar:

Şekil 1. Sesli etkileşim aktörleri
Ayrıntılar:
VoiceInteractionManagerService
. Bu sistem hizmeti, varsayılan VIA'yı yönetmekten ve işlevlerini sistemin geri kalanına göstermekten sorumludur.
RecognitionService
. Bu hizmet, sistemdeki diğer uygulamalara konuşma tanıma özelliklerini gösterir.
SoundTrigger
. Özel kelime yönetimini uygular ve AlwaysOnHotwordDetector aracılığıyla VIA'lar tarafından kullanılabilir.
MediaRecorder
. Hem sıcak kelime algılama (CPU kullanıldığında) hem de konuşma tanıma için ses girişine erişim sağlar.
PhoneWindowManager
/CarInputService
. Bu hizmetler, diğerlerinin yanı sıra önemli etkinlikleri işlemekten ve VoiceInteractionManagerService
aracılığıyla PTT'yi VIA'ya yönlendirmekten sorumludur.
User
. Kullanıcı, Tetikleyiciler (PTT, TTT, Sıcak Kelime) veya Ses Plakası kullanıcı arayüzü aracılığıyla bir VIA ile etkileşimde bulunur.
- CarService, Bildirimler, Medya, Telefon, Kişiler Sağlayıcı vb.
VoiceInteractionSession tarafından kullanıcının komutlarını yerine getirmek için kullanılan hizmetler ve uygulamalar.
Otomotiv sektörüne özel kavramlar
AAOS, Android'den aşağıdaki yönlerden ayrılır:
- AAOS VIA'lar, normal Asistan işlevlerinin yanı sıra araç işlevlerini (ör. iklimlendirme, koltuklar ve iç ışıklar) de kontrol edebilir. OEM'lerin erişimi imtiyazlı izin izin verilenler listesine ekleme bölümünde açıklandığı şekilde doğru şekilde yapılandırdığı sürece bu işlevler CarPropertyManager API kullanılarak entegre edilebilir (Araç mülkünü okuma başlıklı makaleyi inceleyin).
- Özelleştirme ve tutarlılık, Otomotiv'de diğer form faktörlerinden daha alakalı. Bu yönergeleri uygulama hakkında daha fazla bilgi edinmek için Özelleştirme bölümüne bakın.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# About voice interaction\n\nThe Voice Interaction Service API provides an abstraction over different\npotential voice control apps. Implementations can be developed following the guidelines\ndescribed in\n[App development](/docs/automotive/voice/voice_interaction_guide/app_development).\nThe content in this integration guide describes how to integrate these apps into\na specific Android Automotive OS (AAOS) system image.\n\nTerminology\n-----------\n\nThese terms are used through this guide:\n\n- **Assist data.** When a voice interaction session is started, the system is able to capture views and screenshots, and pass this information to the session. Apps can expose additional information by implementing [Activity#onProvideAssistData()](https://developer.android.com/reference/android/app/Activity#onProvideAssistData(android.os.Bundle)) and [Activity#onProvideAssistContent()](https://developer.android.com/reference/android/app/Activity#onProvideAssistContent(android.app.assist.AssistContent)).\n- **[Push-to-talk (PTT)](https://developer.android.com/reference/android/service/voice/VoiceInteractionSession#SHOW_SOURCE_PUSH_TO_TALK)**. Physical voice control button, usually located in the steering wheel.\n- **RecognitionService (RS).** Voice recognition service used by apps through the [SpeechRecognizer](https://developer.android.com/reference/android/speech/SpeechRecognizer)`\n ` API. VIAs must include both the `VoiceInteractionService` *and* the `RecognitionService`.\n- **[Tap-to-talk (TTT)](https://developer.android.com/reference/android/service/voice/VoiceInteractionSession#SHOW_SOURCE_ASSIST_GESTURE)** . Software voice control button, usually included as part of the system UI). In Android this is also referred to as *Assist Gesture*.\n- **[VoiceInteractionService](https://developer.android.com/reference/android/service/voice/VoiceInteractionService)**. Lightweight system service implemented by the VIA developer. The selected service is bound from system service on boot, and is always running.\n- **VoiceInteractionSession (VIS).** This class encapsulates the user interaction business logic. It is responsible for presenting the user with status of the voice interaction, handling VoiceInteractor requests and receiving assist and screenshot data.\n- **VoiceInteractionSessionService (VSS).** A service, part of a VIA, responsible for handling a voice interaction session. This service is bound from Android's system service during a voice interaction with a user. All business logic of this session is implemented in the `VoiceSession` class. This service is only guaranteed to stay alive during a single user voice session.\n- **Voice Interaction App (VIA).** Android app designed to serve as a voice control (referred to as *assistant* ). These apps can be identified by including a `VoiceInteractionService` in their manifest. Only one of these apps can be selected as *default* at a time in the system. Only the default app will be maintained alive (bound from a system service), and will be the receiver of [Push-To-Talk (PTT)](https://developer.android.com/reference/android/service/voice/VoiceInteractionSession#SHOW_SOURCE_PUSH_TO_TALK) or [Tap-To-Talk (TTT)](https://developer.android.com/reference/android/service/voice/VoiceInteractionSession#SHOW_SOURCE_ASSIST_GESTURE) events.\n\nResponsibilities\n----------------\n\nThis table describes the responsibilities of each party.\n\n| Car Manufacturers (OEMs) | AOSP | App Developers |\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| - Build a [compatible](/compatibility/android-cdd) infotainment system with AAOS. - Implement audio input and output, optionally including DSP hotword detection support. - Grant system-privileged permissions for the voice interaction services. - Respect `VoiceInteractionService` requirements regarding access to app's settings screens. | - Define and evolve `VoiceInteractionService` and related APIs. - Provide API documentation, sample code and other support material to VIA developers. - Provide UX guidance with requirements and recommendations. | - Implement `VoiceInteractionService` API, RecognitionService API and NotificationListenerService API (see detailed description at [App development](/docs/automotive/voice/voice_interaction_guide/app_development)). - Provide a customizable UI that can be adjusted by OEMs to match each car design system. |\n\nUX requirements\n---------------\n\nOEMs have the ultimate responsibility of providing a good user experience to customers.\nOEMs must ensure that the all pre-installed voice interaction services fulfill the\nrequirements described in\n[Preloaded Assistants: UX Guidance](/static/docs/automotive/voice/voice_interaction_guide/preloaded-assistants_UX-guidelines.pdf).\n\nCore assistant experience\n-------------------------\n\nAn automotive Voice Interaction Application (VIA) performs the following actions:\n\n- \\[MUST\\] Respond to system-handled voice interaction triggers (PTT, TTT).\n- \\[MUST\\] Display a visual representation of their progress (for example, listening, processing, and fulfilling).\n- \\[MUST\\] Use voice or sounds to indicate understanding and completion of user requests.\n- \\[MUST\\] Serve as a speech recognizer for other apps (see the [SpeechRecognizer\n API](https://developer.android.com/reference/android/speech/SpeechRecognizer)).\n- \\[SHOULD\\] Respond to a hotword trigger.\n- \\[MAY\\] Display a settings activity where users can configure this VIA (for example, permissions, hotword configuration, and sign-in).\n- \\[MAY\\] Handle assist data ([Intent#ACTION_ASSIST](https://developer.android.com/reference/android/content/Intent#ACTION_ASSIST))\n- \\[MAY\\] Support voice interaction from Keyguard (lock screen).\n\nComponents\n----------\n\nAt a high level, a voice interaction app interacts with these actors:\n\n**Figure 1.** Voice interaction actors\n\nDetails:\n\n- `VoiceInteractionManagerService`. This system service is responsible for managing the default VIA, and exposing its functionality to the rest of the system.\n- `RecognitionService`. This service exposes speech recognition capabilities to other apps in the system.\n- `SoundTrigger`. Implements hotword management and it's available to VIAs through the AlwaysOnHotwordDetector.\n- `MediaRecorder`. Provides access to audio input for both hotword detection (when using CPU) and speech recognition.\n- `PhoneWindowManager`/`CarInputService`. These services are responsible (among other things) for handling key events, routing PTT to the VIA, by means of the `VoiceInteractionManagerService`.\n- `User`. The user interacts with a VIA by means of Triggers (PTT, TTT, Hotword) or the Voice Plate UI.\n- **CarService, Notifications, Media, Telephony, ContactsProvider, and so on.** Services and apps used by the VoiceInteractionSession to fulfill the user's commands.\n\nAutomotive-specific concepts\n----------------------------\n\nAAOS diverges from Android in the following aspects:\n\n- Besides normal Assistant functionalities, AAOS VIAs can control vehicle functions (for example, HVAC, seats, and interior lights). These functionalities can be integrated using the CarPropertyManager API (see more at [Read a\n vehicle property](/docs/automotive/voice/voice_interaction_guide/fulfilling_commands#vehicle-property)) provided OEMs configure access correctly as described in [Privileged permission allowlisting](/docs/core/permissions/perms-allowlist).\n- Customization and consistency are more relevant in Automotive than in any other form factor. See [Customization](/docs/automotive/voice/voice_interaction_guide/integration_flows#customization) to read more about implementing these guidelines."]]