SpeechKitManager 0.1.7

SpeechKitManager 0.1.7

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2016年11月
SwiftSwift 版本3.0
SPM支持 SPM

ZaidPathan 维护。



  • 作者
  • Zaid Pathan

SpeechKitManager

示例

要运行示例项目,先克隆仓库,然后从 Example 目录运行 pod install

要求

XCode : 8.0 + iOS : 10.0 + Swift : 3.0 + 设备 : 需要真实的 iOS 设备

安装

SpeechKitManager 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod "SpeechKitManager"

使用

注意:将 NSMicrophoneUsageDescription(仅用于实时语音到文本) 和 NSSpeechRecognitionUsageDescription 添加到 info.plist

初始化 SpeechKitManager 和您的音频文件路径及 URL
fileprivate var speechKitManager:SpeechKitManager?
let audioPath = Bundle.main.path(forResource: "testAudio", ofType: "m4a")   //For audio file to text
var audioURL:URL?                                                           //For audio file to text

override func viewDidLoad() {
    super.viewDidLoad()
    speechKitManager = SpeechKitManager()
}
授权语音识别并处理它。
speechKitManager?.requestSpeechRecognizerAuth { (authStatus) in
    /*
    The callback may not be called on the main thread. Add an
    operation to the main queue to update the record button's state.
    */
    OperationQueue.main.addOperation {
        switch authStatus {
            case .authorized:
                self.recognizeAudio()
                print("requestSpeechRecognizerAuth authorized")
            case .denied:
                print("requestSpeechRecognizerAuth denied")
            case .restricted:
                print("requestSpeechRecognizerAuth restricted")
            case .notDetermined:
                print("requestSpeechRecognizerAuth notDetermined")
            }
        }
    }

1. 音频文件到文本

识别音频
fileprivate func recognizeAudio(){
    if let path = self.audioPath{
        self.speechKitManager?.recognizeAudio(atURL: URL(fileURLWithPath: path), resultHandler: { (result, error) in
            if let result = result{
                //Audio to Text fall here
                debugPrint(result.bestTranscription.formattedString)
            }else if let error = error{
                debugPrint(error.localizedDescription)
            }
        })
    }else{
        debugPrint("no path found")
    }
}

2. 实时语音到文本

请求麦克风访问并处理它。
fileprivate func authorizeMicAccess(){
    speechKitManager?.requestMicAuth({ (granted) in
        if granted{
        //Mic access granted start recognition
        self.recognize()
        }else{
            debugPrint("Microphone permission required")
        }
    })
}
识别实时语音。📢
fileprivate func recognize(){
    speechKitManager?.record(resultHandler: { (result, error) in
        var isFinal = false

        if let result = result {
            //User speech will fall here to text
            debugPrint(result.bestTranscription.formattedString)
            isFinal = result.isFinal
        }

        if error != nil || isFinal {
            self.speechKitManager?.stop()
        }
    })
}

棒极了🙌,查看演示项目 - 这里所展示的每一项都在那个项目中实现。

作者

Zaid Pathan, [email protected]

许可证

SpeechKitManager 凭借 MIT 许可证提供。有关更多信息,请参阅许可证文件。