簡體   English   中英

在藍牙設備按鈕按下時在后台錄制音頻 (iOS)

[英]Record Audio in Background on Bluetooth Device Button Press (iOS)

是否可以實現 iOS 應用程序,該應用程序能夠在用戶按下連接的藍牙 (BLE) 設備上的按鈕、手機屏幕關閉或應用程序時錄制音頻(用於處理語音到文本)有背景嗎?

我已經挖掘了很長時間,只是為了找到舊的/未回答的/模糊相關的帖子。

我有一個帶有幾個按鈕的小型藍牙 controller。 其中一個按鈕用於通過手機麥克風(或通過連接的藍牙耳機麥克風)觸發音頻錄制。 至此,我們已經實現了這一點,它在屏幕打開且應用程序處於前台時工作正常,但是當應用程序處於后台或屏幕關閉時,此功能停止 function。

我們的實現通過Speech framework使用SFSpeechrecognizer ,並且我們確保將所有適當的功能添加到 project/ Info.plist (包括AudioSpeech RecognitionMicrophone Usage )。 我們的應用程序已經進行了與錄音無關的連續后台處理,並且無論應用程序是在前台還是后台,都可以毫無問題地從連接的設備接收藍牙 (BLE) 按鈕按下。

據我了解,Apple/iOS 限制在應用程序后台啟動時使用錄音。 從隱私/安全的角度來看,如果應用程序要自行啟動音頻錄制,這是有道理的,但是這種限制是否意味着我們的用戶無法通過藍牙 (BLE) 設備按鈕啟動音頻錄制?

非常感謝您對此的任何建設性指導!

由於隱私問題,蘋果似乎在后台模式下默默地禁用了麥克風。 結果,后台 session 獲得 0 Hz 頻率的輸入通道並失敗。

解決方法如下,但它們都有很大的缺點:

  • 在活動的 state 中開始錄制並保持在后台。 根據設備按鈕推送等任何類型的事件處理所需的情節。 缺點是對電池的影響,並且總是在屏幕左上方顯示橙色麥克風系統欄。
  • 在小工具端錄制語音並通過藍牙將其傳輸回 iPhone 進行處理。 缺點是在 BLE 設備上實現的顯着復雜性和可能的硬件限制。
  • 將 SiriKit 與 Shortcuts 應用程序配對使用。 優點:可以與鎖定的 iPhone 通話。缺點:當前的 Siri 實現有很多 UX 缺陷。 當 Siri 反饋不可用時,用戶應該至少用兩個短語告訴一個命令,因為它重新路由到 iPhone 而不是 BLE 揚聲器。 語音識別仍然遠非理想,因此任何步驟都可能因此而失敗。 因此,這就像在沒有太多反饋和可變延遲的情況下與不太智能的黑匣子交談。

一種替代方法是,您可以將音頻記錄 session 始終打開,並在您從 BLE 設備獲得輸入時進行音頻處理。

暫無
暫無

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

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