Indeks
- EmbeddedAssistant(interfejs)
- AudioInConfig(komunikat)
- AudioInConfig.Encoding(wyliczenie)
- AudioOut(komunikat)
- AudioOutConfig(komunikat)
- AudioOutConfig.Encoding(wyliczenie)
- ConverseConfig(komunikat)
- ConverseRequest(komunikat)
- ConverseResponse(komunikat)
- ConverseResponse.EventType(wyliczenie)
- ConverseResult(komunikat)
- ConverseResult.MicrophoneMode(wyliczenie)
- ConverseState(komunikat)
EmbeddedAssistant
Usługa, która korzysta z interfejsu Google Assistant API.
| Converse | |
|---|---|
| 
 Rozpoczyna lub kontynuuje rozmowę za pomocą wbudowanej usługi asystenta. Każde połączenie jest wysyłane w obie strony, wysyłane do usługi żądanie dźwiękowe i odbierane w odpowiedzi audio. Używa dwukierunkowego przesyłania strumieniowego do odbierania wyników, np. zdarzenia  Rozmowa to co najmniej jedno połączenie gRPC, z których każde składa się z kilku przesyłanych strumieniowo żądań i odpowiedzi. Na przykład użytkownik powie Dodaj do mojej listy zakupów, a Asystent odpowie Co chcesz dodać?. Sekwencja przesyłanych strumieniowo żądań i odpowiedzi w pierwszym komunikacie gRPC mogłaby wyglądać tak: 
 Użytkownik mówi bajgle, a asystent odpowiada OK, dodałem bajgle do listy zakupów. Jest ono wysyłane jako kolejne wywołanie połączenia gRPC do metody  
 Chociaż dokładna kolejność odpowiedzi nie jest gwarantowana, kolejne komunikaty ConverseResponse.audio_out zawsze zawierają sekwencyjne fragmenty dźwięku. 
 | |
AudioInConfig
Określa, jak przetwarzać dane audio_in przekazywane w kolejnych żądaniach. Zalecane ustawienia znajdziesz w artykule o sprawdzonych metodach dotyczących interfejsu gRPC API Asystenta Google.
| Pola | |
|---|---|
| encoding | 
                    Wymagane kodowanie danych dźwiękowych wysyłanych we wszystkich wiadomościach typu  | 
| sample_rate_hertz | 
 
                    Wymagane – częstotliwość próbkowania (w hercach) danych dźwiękowych wysłanych we wszystkich wiadomościach typu  | 
Kodowanie
Kodowanie dźwięku danych wysłanych w wiadomości głosowej. Dźwięk musi być jednokanałowy (mono). Jedyny obsługiwany język to „en-US”.
| Wartości w polu enum | |
|---|---|
| ENCODING_UNSPECIFIED | Nie określono. Zwrócony wynik to google.rpc.Code.INVALID_ARGUMENT. | 
| LINEAR16 | Nieskompresowane, podpisane 16-bitowe próbki little-endian (Linear PCM). Kodowanie nie obejmuje nagłówka, a jedynie nieprzetworzone bajty audio. | 
| FLAC | Zalecane jest kodowanie FLAC(Free Lossless Audio Codec), ponieważ jest ono bezstratne, dzięki czemu rozpoznawanie nie jest zagrożone i wymaga tylko około połowy przepustowościLINEAR16. To kodowanie obejmuje nagłówek strumieniaFLAC, po którym następuje dane audio. Obsługuje on 16- i 24-bitowe próbki, ale nie wszystkie pola wSTREAMINFOsą obsługiwane. | 
AudioOut
Nagranie z odpowiedzią asystenta na pytanie. Kolejne fragmenty danych dźwiękowych są odbierane w sekwencji komunikatów ConverseResponse.
| Pola | |
|---|---|
| audio_data | 
 
                    Tylko dane wyjściowe – dane dźwiękowe zawierające odpowiedź asystenta na zapytanie. Kolejne fragmenty danych dźwiękowych są odbierane w sekwencji komunikatów  | 
AudioOutConfig
Określa format, który ma być używany przez serwer przy zwracaniu wiadomości audio_out.
| Pola | |
|---|---|
| encoding | 
                    Wymagane kodowanie danych dźwiękowych, które mają być zwracane we wszystkich wiadomościach typu  | 
| sample_rate_hertz | 
 
                    Wymagane: częstotliwość próbkowania danych audio zwracanych w wiadomościach ( | 
| volume_percentage | 
 Wymagane: bieżące ustawienie głośności wyjścia audio urządzenia. Prawidłowe wartości to od 1 do 100 (odpowiadające 1%–100%). | 
Kodowanie
Kodowanie dźwięku danych zwróconych w wiadomości głosowej. Wszystkie kodowanie są nieprzetworzonymi bajtami audio bez nagłówka, z wyjątkiem sytuacji opisanych poniżej.
| Wartości w polu enum | |
|---|---|
| ENCODING_UNSPECIFIED | Nie określono. Zwrócony wynik to google.rpc.Code.INVALID_ARGUMENT. | 
| LINEAR16 | Nieskompresowane, podpisane 16-bitowe próbki little-endian (Linear PCM). | 
| MP3 | Kodowanie audio MP3. Częstotliwość próbkowania jest kodowana w ładunku. | 
| OPUS_IN_OGG | Dźwięk w kodowaniu opus zapakowany w kontenerze Ogg. Powstanie plik, który można natywnie odtwarzać na Androidzie i w niektórych przeglądarkach (np. Chrome). Jakość kodowania jest znacznie wyższa niż jakość MP3 przy tej samej szybkości transmisji bitów. Częstotliwość próbkowania jest kodowana w ładunku. | 
ConverseConfig
Określa sposób przetwarzania wiadomości ConverseRequest.
| Pola | |
|---|---|
| audio_in_config | Wymagane – określa sposób przetwarzania następnego dźwięku przychodzącego. | 
| audio_out_config | Wymagane – określa sposób formatowania dźwięku, który ma być zwracany. | 
| converse_state | Wymagane Reprezentuje bieżący stan okna. | 
ConverseRequest
Wiadomość najwyższego poziomu wysłana przez klienta. Klienci muszą wysłać co najmniej dwie (zwykle dużą liczbę wiadomości) wiadomości ConverseRequest. Pierwsza wiadomość musi zawierać wiadomość config i nie może zawierać danych audio_in. Wszystkie kolejne wiadomości muszą zawierać dane audio_in i nie mogą zawierać wiadomości config.
| Pola | ||
|---|---|---|
| Pole sumy converse_request. W każdym poluConverseRequestmusisz podać dokładnie jedno z tych pól.converse_requestmoże mieć tylko jedną z tych wartości: | ||
| config | 
                    Komunikat  | |
| audio_in | 
 
                    Dane dźwiękowe do rozpoznania. Kolejne fragmenty danych dźwiękowych są wysyłane w formie kolejnych komunikatów w trybie  | |
ConverseResponse
Wiadomość najwyższego poziomu odebrana przez klienta. Seria co najmniej jednej wiadomości w usłudze ConverseResponse jest przesyłana z powrotem do klienta.
| Pola | ||
|---|---|---|
| Pole sumy converse_response. W każdym poluConverseResponsepojawi się tylko 1 z tych pól.converse_responsemoże mieć tylko jedną z tych wartości: | ||
| error | 
                    Tylko dane wyjściowe Jeśli zasada jest ustawiona, zwraca komunikat  | |
| event_type | Tylko dane wyjściowe Wskazuje typ zdarzenia. | |
| audio_out | Tylko dane wyjściowe – dźwięk zawierający odpowiedź asystenta na zapytanie. | |
| result | Tylko dane wyjściowe – semantyczny wynik zapytania wypowiedzianego przez użytkownika. | |
EventType
Wskazuje typ zdarzenia.
| Wartości w polu enum | |
|---|---|
| EVENT_TYPE_UNSPECIFIED | Nie określono zdarzenia. | 
| END_OF_UTTERANCE | To zdarzenie oznacza, że serwer wykrył koniec wypowiedzi użytkownika i nie oczekuje żadnej dodatkowej mowy. Dlatego serwer nie przetwarza dodatkowego dźwięku (chociaż może później zwracać dodatkowe wyniki). Klient powinien przestać wysyłać dodatkowe dane audio, zamknąć do połowy połączenie gRPC i poczekać na dodatkowe wyniki, aż serwer zamknie połączenie gRPC. | 
ConverseResult
Wynik semantyczny zapytania wypowiedzianego przez użytkownika.
| Pola | |
|---|---|
| spoken_request_text | 
 Tylko dane wyjściowe – rozpoznawana transkrypcja wypowiedzi użytkownika. | 
| spoken_response_text | 
 Tylko dane wyjściowe – tekst odpowiedzi Asystenta. Zwracana jest tylko w przypadku działania IFTTT. | 
| conversation_state | 
 
                    Tylko dane wyjściowe – informacje o stanie dla kolejnych zdarzeń typu  | 
| microphone_mode | 
                    Tylko dane wyjściowe – określa tryb mikrofonu po przetworzeniu tego wywołania RPC  | 
| volume_percentage | 
 
                    Tylko na wyjściu Zaktualizowano poziom głośności. Wartość może być równa 0 lub pomijana (co oznacza brak zmian), chyba że rozpoznano polecenie głosowe, np. „Zwiększ głośność” lub „Ustaw poziom głośności 4”. W takim przypadku wartość mieści się w zakresie od 1 do 100 (odpowiada nowemu poziomowi głośności od 1% do 100%). Zazwyczaj klient powinien używać tego poziomu głośności podczas odtwarzania danych  | 
MicrophoneMode
Możliwe stany mikrofonu po zakończeniu RPC Converse.
| Wartości w polu enum | |
|---|---|
| MICROPHONE_MODE_UNSPECIFIED | Nie określono trybu. | 
| CLOSE_MICROPHONE | Usługa nie oczekuje od użytkownika kolejnego pytania. Mikrofon powinien pozostać wyłączony, dopóki użytkownik go ponownie nie aktywuje. | 
| DIALOG_FOLLOW_ON | Usługa oczekuje od użytkownika kolejnego pytania. Mikrofon powinien zostać ponownie włączony po zakończeniu odtwarzania elementu AudioOut(przez rozpoczęcie nowego wywołania RPCConversew celu wysłania nowego dźwięku). | 
ConverseState
Zawiera informacje o bieżącym stanie okna dialogowego.
| Pola | |
|---|---|
| conversation_state | 
 
                    Wymagane – wartość  | 
