google.assistant.library 套件。
-
class
google.assistant.library.
Assistant
(credentials, device_model_id)¶ Google 助理程式庫的用戶端。
針對以下項目提供基本控制功能和生命週期處理 。使用 Google 助理時,最佳做法是
ContextManager
:with Assistant(credentials, device_model_id) as assistant:
如此一來,基礎的原生實作即可正確 處理記憶體管理
呼叫
start()
後, 則 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 助理的回應。
對話:一或多個轉彎處,可達成想要的最終結果 :
"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!"
參數: - 憑證 (google.oauth2.credentials.Credentials) – 使用者的 Google OAuth2 憑證。
- device_model_id (str):註冊為裝置的 device_model_id 。不得為空白字串。
發出: ValueError
:如果device_model_id
留空或空白,-
device_id
¶ 傳回 Google 助理產生的裝置 ID。
這個值會在使用服務時透過伺服器識別你的裝置 例如 Google 裝置動作這個屬性只填入 「之後」 已呼叫
start()
。傳回: 呼叫 start()
後的裝置 ID,否則為空字串。傳回類型: str
-
send_text_query
(查詢)¶ 將 |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 助理」就會開始處理 「default」ALSA 音訊來源,監聽啟動字詞。這個 也會啟動 Google 助理提供的其他服務,例如 視為計時器/鬧鐘這個方法只能呼叫一次。一次 已致電,Google 助理會繼續運作,直到__exit__
方法。傳回: 事件佇列,用於通知 Google 助理狀態的變更。 傳回類型: google.assistant.event.IterableEventQueue
-
start_conversation
()¶ 手動與 Google 助理開始新對話。
開始錄製使用者的語音並傳送給 Google,類似於 Google 助理聽到關鍵字時的情況。
如果裝置尚未啟動或已啟動 Google 助理,這種方法不適合人工管理 設為靜音。
-
stop_conversation
()¶ 停止與 Google 助理進行任何對話。
Google 助理可能會聽取使用者的查詢內容或回應。如果沒有進行中的對話,則不會執行任何操作。
-
class
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 秒後」
-
-
class
google.assistant.library.event.
DeviceActionEvent
(event_type, args, **kwargs)¶ 擴充事件以新增「actions」屬性。
-
actions
¶ 為目前裝置執行的指令產生器。
-
-
class
google.assistant.library.event.
Event
(event_type, args, **_)¶ 由 Google 助理產生的事件。
-
type
¶ EventType - 產生的事件類型。
-
args
¶ dict - 與這個事件相關聯的引數鍵/值組合。
-
static
New
(event_type, args, **kwargs)¶ 視需要使用專屬的 Event 類別建立新事件。
參數: - event_type (int):與 google.assistant.event.EventType.
- args (dict):與此事件相關聯的引數鍵/值組合。
- kwargs (dict):針對 EventType 的 Event 類別專屬的選用引數鍵/值組合。
-
-
class
google.assistant.library.event.
EventType
¶ 事件類型。
-
ON_ALERT_STARTED
= 10¶ 表示警示已開始音效。
直到收到同一個
alert_type
的ON_ALERT_FINISHED
為止。任何時間點都應只啟用一個快訊。參數: alert_type (AlertType):代表目前
-
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¶ 表示已調派裝置動作要求。
如果裝置支援的特徵觸發任何裝置文法,就會傳送此事件。這個事件類型具有特殊的「動作」 並傳回疊代器或裝置動作指令 相關聯的參數 (如果有的話)。
參數: 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):曲目所屬的專輯名稱。 相簿_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):曲目所屬的專輯名稱。 相簿_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) –
已停止的曲目中繼資料。如果欄位不明 以及「保留」資料中繼資料欄位包括:
album(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,表示系統正在播放本機錯誤 TTS,否則 Google 助理會回應伺服器回應。
-
ON_START_FINISHED
= 0¶ Google 助理媒體庫已啟動。
-
-
類別
google.assistant.library.event.
IterableEventQueue
(timeout=3600)¶ 擴充 Queue.Queue,以新增
__iter__
介面。
-
class
google.assistant.library.event.
MediaStateChangeEvent
(event_type, args, **_)¶ 擴充「事件」,新增「狀態」剖析。
-
class
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」的剖析功能。
-
class
google.assistant.library.event.
RenderResponseType
¶ 要轉譯的內容類型。