google.assistant.library 套件
-
類別
google.assistant.library.
Assistant
(credential、device_model_id)ש Google 助理程式庫的用戶端。
為 Google 助理提供基本的控制功能和生命週期處理功能。建議您使用 Google 助理做為
ContextManager
:with Assistant(credentials, device_model_id) as assistant:
這可讓基礎的原生實作項目正確地處理記憶體管理。
呼叫
start()
後,Google 助理會產生一個事件串流,轉發 Google 助理目前處於的狀態。例如:ON_CONVERSATION_TURN_STARTED ON_END_OF_UTTERANCE ON_RECOGNIZING_SPEECH_FINISHED: {'text': 'what time is it'} ON_RESPONDING_STARTED: {'is_error_response': False} ON_RESPONDING_FINISHED ON_CONVERSATION_TURN_FINISHED: {'with_follow_on_turn': False}
如要進一步瞭解所有事件及其引數,請參閱
EventType
。詞彙解釋:
啟動字詞:Google 助理在未設為靜音時監聽的詞組:
"OK Google" OR "Hey Google"
回應:單一使用者要求,後面顯示 Google 助理的回應。
對話:Google 助理會做出一或多個想要的最終結果:
"What time is it?" -> "The time is 6:24 PM" OR "Set a timer" -> "Okay, for how long?" -> "5 minutes" -> "Sure, 5 minutes, starting now!"
參數: - credentials (google.OAuth2.credentials.Credentials):使用者的 Google OAuth2 憑證。
- device_model_id (str):Google 為您的專案註冊的 device_model_id。不得為空白字串。
發出: ValueError
- 如果device_model_id
留空或留空。-
device_id
小數點 傳回 Google 助理產生的裝置 ID。
這個值會在使用 Google 裝置動作等服務時,向伺服器識別您的裝置。只有在呼叫
start()
後,系統才會填入這個屬性。退貨: 呼叫 start()
後,裝置 ID 才會呼叫,否則為空字串。傳回類型: Str
-
send_text_query
(查詢)¶ 將 |查詢| 傳送給 Google 助理,就像使用者說話一樣。
這將等同於使用者說出啟動字詞,然後提出查詢「或者」後續回答問題。
參數: query (str):傳送至 Google 助理的文字查詢。
-
set_mic_mute
(is_muted)൬ 讓 Google 助理停止聽取啟動字詞。
停用 Google 助理無法聽取啟動字詞。 這和 Google Home 背面的隱私權按鈕類似。
如果 Google 助理尚未啟動,這個方法便不需要人工管理。
參數: is_muted (bool) - True 會讓 Google 助理無法聽取內容,False 則允許再次啟動。
-
start
()൬ 啟動 Google 助理,包括聽取啟動字詞。
呼叫
start()
後,Google 助理就會開始處理「預設」ALSA 音訊來源的資料,並監聽啟動字詞。這樣做也會啟動 Google 助理提供的其他服務,例如計時器/鬧鐘。這個方法只能呼叫一次。呼叫完成後,Google 助理會持續執行,直到呼叫__exit__
為止。退貨: 通知 Google 助理狀態變更的事件佇列。 傳回類型: google.assistant.event.IterableEventQueue
-
start_conversation
()൬ 手動透過 Google 助理發起新的對話。
開始錄製使用者語音內容並傳送給 Google,類似 Google 助理聽到啟動字詞時的處理方式。
如果 Google 助理未啟動或已設為靜音,這個方法就是免人工管理。
-
stop_conversation
()൬ 停止與 Google 助理進行的任何對話。
Google 助理可以監聽使用者的查詢「或」回應。如果沒有有效的對話,則無須人工管理。
-
類別
google.assistant.library.event.
AlertEvent
(event_type、args、**_)ש 擴充事件以新增「alert_type」的剖析。
-
類別
google.assistant.library.event.
AlertType
൬ 快訊類型。
可搭配
ON_ALERT_STARTED
和ON_ALERT_FINISHED
事件使用。-
ALARM
= 0成本 絕對時間的事件,例如「星期一上午 3 點」
-
TIMER
= 1初次 設定相對時間的活動,例如「30 秒後通知」
-
-
類別
google.assistant.library.event.
DeviceActionEvent
(event_type、args、**kwargs)ש 擴充事件以新增「動作」屬性。
-
actions
小數點 要對目前裝置執行的指令產生器。
-
-
類別
google.assistant.library.event.
Event
(event_type、args、**_)ש Google 助理產生的事件。
-
type
小數點 EventType:產生的事件類型。
-
args
小數點 dict – 與這個事件相關聯的引數鍵/值組合。
-
靜態
New
(event_type、args、**kwargs)൬ 如有需要,您可以使用特殊事件類別建立新事件。
參數: - event_type (int):與 google.assistant.event.EventType 中的事件相對應的數字 ID。
- args (dict):與這個事件相關聯的引數鍵/值組合。
- kwargs (dict) – 專為 EventType 的 Event 類別專用的選用引數鍵/值組合。
-
-
類別
google.assistant.library.event.
EventType
൬ 事件類型。
-
ON_ALERT_STARTED
= 10成本 表示快訊已發出聲音。
此快訊將持續接收,直到收到具有相同
alert_type
的ON_ALERT_FINISHED
為止。一次只能啟用一項快訊。參數: alert_type (AlertType):Enum 的 ID,代表目前快訊類型。
-
ON_ASSISTANT_ERROR
= 12成本 指出 Google 助理程式庫是否發生錯誤。
參數: is_fatal (bool):如果為 True,Google 助理將無法復原且必須重新啟動。
-
ON_CONVERSATION_TURN_FINISHED
= 9成本 「Google 助理」完成了目前的轉彎處。
當中包含處理使用者的查詢,以及說出完整的回應內容 (如有)。
參數: with_follow_on_turn (bool) - 如果是 True,Google 助理預期會進行後續互動。麥克風會重新開啟,讓使用者回答後續問題。
-
ON_CONVERSATION_TURN_STARTED
= 1初次 表示新的轉彎已開始。
Google 助理正在監聽,正在等待使用者查詢。這可能是透過 Google 助理呼叫啟動字詞或
start_conversation()
所造成。
-
ON_CONVERSATION_TURN_TIMEOUT
= 2¶ Google 助理在等待可辨識查詢時發生逾時。
這可能是因為啟動字詞錯誤觸發,或是 Google 助理無法理解使用者說的內容。
-
ON_DEVICE_ACTION
= 14成本 -
如果裝置支援的特性觸發了任何裝置 Grammar,就會分派這個程式。這個事件類型含有特殊的「action」屬性,可傳回疊代器或裝置動作指令,以及與這些參數相關聯的參數 (如適用)。
參數: dict:裝置動作要求的解碼 JSON 酬載。
-
ON_END_OF_UTTERANCE
= 3¶ 「Google 助理」已停止監聽使用者查詢內容
Google 助理可能尚未結束辨識使用者所說的內容,但會停止監聽更多音訊資料。
-
ON_MEDIA_STATE_ERROR
= 20成本 表示播放曲目時發生錯誤。
內建的媒體播放器會嘗試播放下一首曲目,如果沒有可以播放的媒體,則會傳回
ON_MEDIA_STATE_IDLE
。
-
ON_MEDIA_STATE_IDLE
= 16成本 表示沒有播放中的項目,沒有加入待播清單。
當系統啟動時,這個事件是透過 Google 助理程式庫的內建媒體播放器進行廣播/循環播放,並在使用者閒置時播放,因為使用者停止媒體或暫停播放而串流逾時。
-
ON_MEDIA_TRACK_LOAD
= 17成本 表示曲目正在載入,但尚未開始播放。
如果以非同步方式載入新中繼資料,系統可能會多次分派。這通常是在事件
ON_MEDIA_TRACK_PLAY
後面參數: - metadata (dict) –
已載入音軌的中繼資料。目前並非所有欄位都會填寫;如果欄位不明,系統就不會納入該欄位。中繼資料欄位包括:
相簿(str):專輯封面所屬的專輯名稱。 Album_art(str):專輯封面的網址。 artist(str):這首曲目的藝人。 duration_ms(double):曲目長度,以毫秒為單位。 title(str):曲目名稱。 - track_type (MediaTrackType):載入的追蹤類型。
- metadata (dict) –
-
ON_MEDIA_TRACK_PLAY
= 18成本 表示音軌目前正在輸出音訊。
只有在從某個狀態轉換到另一個狀態 (例如從
ON_MEDIA_TRACK_LOAD
或ON_MEDIA_TRACK_STOP
) 時,才會觸發這個情況參數: - metadata (dict) –
播放曲目的中繼資料。如果欄位不明,系統就不會納入該欄位。中繼資料欄位包括:
相簿(str):專輯封面所屬的專輯名稱。 Album_art(str):專輯封面的網址。 artist(str):這首曲目的藝人。 duration_ms(double):曲目長度,以毫秒為單位。 title(str):曲目名稱。 - position_ms (double):目前在播放開始後,以毫秒為單位的目前位置。如果「metadata.duration_ms」設為不明 (設為 0),系統就不會設定這個欄位。
- track_type (MediaTrackType) - 播放類型。
- metadata (dict) –
-
ON_MEDIA_TRACK_STOP
= 19成本 表示先前播放的曲目已停止。
這通常是使用者暫停的結果所導致。如果使用者重新啟用該音軌,則返回
ON_MEDIA_TRACK_PLAY
。參數: - metadata (dict) –
已停止測試群組的中繼資料。如果欄位不明,系統就不會納入該欄位。中繼資料欄位包括:
相簿(str):專輯封面所屬的專輯名稱。 Album_art(str):專輯封面的網址。 artist(str):這首曲目的藝人。 duration_ms(double):曲目長度,以毫秒為單位。 title(str):曲目名稱。 - position_ms (double):從開始起算,以秒為單位,目前停止位置的目前位置。如果「metadata.duration_ms」設為不明 (設為 0),系統就不會設定這個欄位。
- track_type (MediaTrackType):測試群組停止的類型。
- metadata (dict) –
-
ON_MUTED_CHANGED
= 13成本 表示 Google 助理目前正在監聽。
start()
一律會產生ON_MUTED_CHANGED
以回報初始值。參數: is_muted (bool):如果為 True,Google 助理目前不會監聽啟動字詞,也不會回應使用者查詢。
-
ON_NO_RESPONSE
= 8൬ 「Google 助理」已順利完成轉彎,但沒有可以說的內容。
-
ON_RECOGNIZING_SPEECH_FINISHED
= 5¶ Google 助理已決定最終辨識的語音。
參數: text (str) - 使用者查詢的最終文字解讀。
-
ON_RENDER_RESPONSE
= 15成本 表示 Google 助理有轉譯文字回應。
參數: - type (RenderResponseType) – 要轉譯的回應類型。
- text (str):進行 RenderResponseType.TEXT 的字串。
-
ON_RESPONDING_FINISHED
= 7¶ 「Google 助理」已透過語音回應
-
ON_RESPONDING_STARTED
= 6¶ Google 助理正在使用語音回應。
直到收到
ON_RESPONDING_FINISHED
為止,Google 助理才會回應。參數: is_error_response (bool) - True 表示播放 TT 時出現本機錯誤,否則 Google 助理會回應伺服器回應。
-
ON_START_FINISHED
= 0成本 Google 助理程式庫已啟動。
-
-
類別
google.assistant.library.event.
IterableEventQueue
(timeout=3600)൬ 擴充佇列.Queue 新增
__iter__
介面。
-
類別
google.assistant.library.event.
MediaStateChangeEvent
(event_type、args、**_)ש 擴充事件以新增「狀態」剖析。
-
類別
google.assistant.library.event.
MediaTrackType
൬ ON_MEDIA_TRACK_X 事件的追蹤類型。
搭配使用
ON_MEDIA_TRACK_LOAD
、ON_MEDIA_TRACK_PLAY
和ON_MEDIA_TRACK_STOP
-
CONTENT
= 2¶ 商品的實際內容 (新聞/Podcast)。
-
TTS
= 1初次 與作品相關的 TTS 簡介或插頁式廣告。
-
-
類別
google.assistant.library.event.
RenderResponseEvent
(event_type、args、**_)ש 擴充事件以新增「response_type」的剖析。
-
類別
google.assistant.library.event.
RenderResponseType
൬ 要轉譯的內容類型。
搭配
ON_RENDER_RESPONSE
使用