Error Domain=kAFAssistantErrorDomain Code=7
開場白:之前好久不更新了,下次更新要好久。
正題:最近幾年一直在負責公司的語音識別模組,這其中我們更改了很多次語音邏輯,但是不能更改的邏輯有以下幾點:
1. 建立語音引擎
2. 建立語音識別Task
3. 傳遞Buffer
4. 進行識別
而為什麼更改很多次語音識別邏輯,第一是不斷的學習中意識到了不足,第二是因為蘋果在語音識別方面做的也不是很完善經常進行更改和升級.
第一點不說了,第二點我來吐個槽,在iOS 13.1 -> iOS 13.3 這個過程中語音識別引擎進行了多次更改導致我們很多使用者使用的時候很迷茫 一會好一會壞的,最後我們更改了整體的邏輯,避免了BUG的出現。(改完以後在iOS 13.3 之後的版本蘋果修復了BUG,舊程式碼沒事了,Em....... 至少我那一陣是罵罵咧咧的)
言歸正傳:Error Domain=kAFAssistantErrorDomain Code=7, 這個BUG我們來說一下,這個錯誤會出現在iOS 14的系統當中,我是用14.2 裝置做的測試。
當我們頻繁呼叫 [SFSpeechRecognitionTask cancel] 來結束Task 時會出現這個錯誤,這會導致語音識別引擎不能使用,即使我清除了語音識別引擎物件依然沒有作用,只有重啟APP.
結束Task 之前我們用兩種方式來結束這個Task, 說下我的理解 :
//結束Task 語音內容 全都不要了,愛誰誰.
[SFSpeechRecognitionTask cancel];
//結束Task 現有語音內容儲存,之後的就不要了.
[SFSpeechRecognitionTask finish];
一般如果我們需要手動關閉Task 之前的內容肯定已經獲取到進行了處理,是不需要的 所以會呼叫[SFSpeechRecognitionTask cancel];
那麼問題來了,之前版本的iOS系統 還算講道理,不要就不要唄,我不管。
更14後你會發現,多次不要的話,我就不讓你用了,著實有點小家子氣,會提示你 Error Domain=kAFAssistantErrorDomain Code=7。
這個時候只要你改成 [SFSpeechRecognitionTask finish]; 就可以正常使用。
不過會提示一個 Code = 209 的錯誤,這個錯誤不會影響你使用語音識別引擎,我認為只是一個錯誤操作的提示。( iOS 13的系統中 不提示 209 , 提示的是 code=2, 效果一樣)
我沒有其他系統的裝置了 所以沒有測試其他系統版本。
以上,
xxxxxxxx , 學以致用更感謝。
相關文章
- 【ERROR】OPatch failed with error code 73ErrorAI
- OPatch failed with error code 73AIError
- [Code Composer Studio] fatal error #6001Error
- ORA-00600: internal error code, arguments: [13011]Error
- weblogic報錯: OPatch failed with error code 73WebAIError
- 執行flutter run命令報錯::ERROR: Could not connect to lockdownd, error code -17FlutterError
- 解決方案 | MiKTex SSL connect error code 35Error
- Sub-process /usr/bin/dpkg returned an error codeError
- ORA-00600: internal error code, arguments: [2131], [9], [8]Error
- Error - RtlWerpReportException failed with status code :-1073741823. Will try to launch the processErrorExceptionAI
- ORA-00600: internal error code, arguments: [qosdExpStatRead: expcnt mismatch], [Error
- MySQL 5.6複製報錯Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND;MySqlError
- 案例ORA-00600: internal error code, arguments: [qkaffsindex3], [], [], [], []ErrorIndex
- [20191129]OER 7451 in Load Indicator Error Code = OSD-04500.txtIndicatorError
- ORA-00600: internal error code, arguments: [13013], [5001], [267], [8389014]Error
- MySQL建立觸發器時報錯Error Code: 1064MySql觸發器Error
- ORA-00600: internal error code, arguments: [knacpft_ProcessFetchedTxns250]Error
- WSL:Sub-process /usr/bin/dpkg returned an error code (1)Error
- Job for docker.service failed because the control process exited with error codeDockerAIError
- idea 報錯maven [ERROR] Maven execution terminated abnormally (exit code 1)IdeaMavenErrorORM
- Oracle索引修復 ,ORA-00600: internal error code, arguments: [6200],Oracle索引Error
- Job for mysqld.service failed because the control process exited with error code...MySqlAIError
- Show me the code,babel 7 最佳實踐!Babel
- 遭遇ORA-00600: internal error code, arguments: [kcrrrfswda.11], [4], [368], [], [], [], [], []Error
- QT DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x800c000d ()QTError
- Cargo invocation has failed: Error: exit code: 101.解決辦法CargoAIError
- 邏輯STANDBY上的ORA-00600: internal error code, arguments: [krvtadc], [], [], [], [], []Error
- 一個特殊的ORA-00600: internal error code, arguments: [6302], [20], [], [], [], [], [], []Error
- 寶塔:續簽SSL證書報錯Verification failed, domain name resolution error or verification URL cannot be accessed!AIError
- document.domainAI
- ORA-00600: internal error code, arguments: [kzsrsea] DataGuard環境的異常Error
- Oracle 19C OGG基礎運維-08Error code [942]Oracle運維Error
- Navicat tnt版本提示“failed to save password error code”的解決辦法AIError
- 遷移學習(DIFEX)《Domain-invariant Feature Exploration for Domain Generalization》遷移學習AI
- 遷移學習(DCCL)《Domain Confused Contrastive Learning for Unsupervised Domain Adaptation》遷移學習AIASTAPT
- Job for mysqld.service failed because the control process exited with error code錯誤解決MySqlAIError
- Oracle OER 7451 in Load Indicator : Error Code = OSD-04500的問題處理OracleIndicatorError
- [Error Code: 904, SQL State: 42000] ORA-00904 : 識別符號無效ErrorSQL符號