簡體   English   中英

如果 supportOnDeviceRecognition 為 true 且離線模式可用,SFSpeechRecognizer 是否有限制?

[英]Does SFSpeechRecognizer have a limit if supportsOnDeviceRecognition is true and offline mode is available?

根據 Apple 文檔, SFSpeechRecognizer可以發送的請求數量是有限制的。

准備好處理由語音識別限制引起的故障。 由於語音識別是一項基於網絡的服務,因此會強制執行限制,以便所有應用程序都可以免費使用該服務。 單個設備每天可以執行的識別數量可能會受到限制,並且每個應用程序可能會根據它每天發出的請求數量在全球范圍內受到限制。 如果識別請求很快失敗(在啟動后的一兩秒內),請檢查識別服務是否不可用。 如果是,您可能需要讓用戶稍后再試。 https://developer.apple.com/documentation/speech/sfspeechrecognizer

另一份文件說,一台設備每小時可以發送 1000 個請求。

設備可以發出的 SFSpeechRecognitionRequest 調用次數的當前速率限制為每小時 1000 個請求。 請注意,此限制是針對設備可以發出的請求數量,與發出請求的應用程序無關。 這與與請求關聯的音頻長度無關。 對於給定的 SFSpeechRecognitionRequest,每個請求最多允許您播放一分鍾的音頻。

現在我正在創建一個SFSpeechRecognizer ,如下所示,並檢查supportsOnDeviceRecognition屬性,該屬性指示語音識別器是否可以在沒有網絡訪問的情況下運行。 它在我安裝了 iOS 13.2.3 的設備上返回true

let speechRecognizer = SFSpeechRecognizer(locale: Locale(identifier: "en-US"))!
print(speechRecognizer.supportsOnDeviceRecognition) //true

我嘗試離線運行我的應用程序,它在沒有互聯網連接的情況下運行良好。 但是如果supportsOnDeviceRecognition為真,則沒有任何信息是否仍然存在請求限制。 在這種情況下,即使設備連接到互聯網, SFSpeechRecognizer可能不會連接到 Apple 服務器,因為它是不必要的。 只有當supportsOnDeviceRecognition為 true 時才限制速率嗎?

根據 WWDC2019 上的這個演講,On-device 沒有限制。

https://developer.apple.com/videos/play/wwdc2019/256/

WWDC2019

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM