我用AVFoundation - AVAudioRecorder - AVAudioPlayer
與Swift 2
並創建了一個簡單的錄音機。目前,您停止使用停止按鈕進行錄製。用戶停止說話時是否可以停止錄音?像Siri。謝謝!如何停止錄製語音,當用戶停止與斯威夫特說話2
1
A
回答
1
一種可能的解決方案是使用AVAudioRecorder的音頻電平計量。我從來沒有嘗試過,所以我不確定它會有多準確,或者對背景噪音有多敏感。
按文檔,averagePowerForChannel返回
目前的平均功率,單位爲分貝,爲正在錄製的聲音。 0dB的返回值表示滿量程或最大功率;返回值-160 dB表示最小功率(即接近無聲)。
當您開始錄製時,我會將此值採樣一段時間或一兩秒鐘,然後對其進行平均處理,從而爲您提供背景噪音級別。
用戶在說話時,音量應該從此上升。
繼續監視此值,然後當它返回到背景級別中的某個範圍一秒左右時,關閉錄製。
這可能不像Siri那樣準確(可能會進行更多的處理和潛在的語音檢測),但它可能足夠滿足您的需要。
這個挑戰將會解決背景水平和說話量之間的差異以及敏感度 - 如果它們接近,它可能不會很好。
相關問題
- 1. String.enumerateSubstringsInRange斯威夫特與停止
- 2. 錄製語音直到用戶停止說話?
- 3. AVPlayer停止斯威夫特3
- 4. 斯威夫特的iOS API控制器停止工作
- 5. 停止錄製時,沒有人說話
- 6. 斯威夫特2斯威夫特3
- 7. 斯威夫特定時器停止後不重新啓動
- 8. 如何斯威夫特2
- 9. 與斯威夫特2
- 10. Swift - 語音識別 - 停止錄製
- 11. 自動錄音和停止時用戶停止使用說話聲音重編碼
- 12. 斯威夫特 - JSQMessagesViewController與斯威夫特
- 13. 無法從遊戲場景內停止背景音樂,斯威夫特3/Spritekit
- 14. 停止錄製音頻
- 15. 斯威夫特2
- 16. 斯威夫特2
- 17. 斯威夫特2
- 18. Twilio停止錄製通話
- 19. 如何與斯威夫特
- 20. 斯威夫特:暫停和恢復NSTimer
- 21. 斯威夫特:暫停CABasicAnimation的CALayer的
- 22. HMAC-SHA1斯威夫特3 - 403禁止
- 23. 與斯威夫特
- 24. 與斯威夫特
- 25. Swift - 不說話就停止語音識別
- 26. 斯威夫特2語法錯誤
- 27. 停止/啓動電話錄音上Twilio
- 28. 如何停止在JavaScript中自動錄製語音?
- 29. 如何停止線程當Tomcat停止
- 30. 調用與斯威夫特