ios - swift 3 一起使用语音识别和 AVFoundation

标签 ios swift3 speech-recognition avaudioplayer

我成功地使用了 Speech(语音识别)并且我可以使用 AVFoundation 在 Xcode 8/IOS 10 中播放 wav 文件。我只是不能同时使用它们。我有导入语音的工作语音识别代码。当我将 AVFoundation 导入同一个应用程序并使用以下代码时,没有声音,也没有生成错误:

var audioPlayer: AVAudioPlayer!
func playAudio()  {
        let path = Bundle.main.path(forResource: "file.wav", ofType: nil)!
    let url = URL(fileURLWithPath: path)

    do {
        let sound = try AVAudioPlayer(contentsOf: url)
        audioPlayer = sound
        sound.play()
    } catch {
        //handle error
    }

}

我想这是因为两者都使用音频。谁能建议如何在同一个应用程序中同时使用两者?我还发现我无法在同一个应用程序中同时使用语音识别和文本转语音。

最佳答案

我刚遇到同样的问题,这是我解决的方法,

语音识别完成后添加以下行。它所做的基本上是将 Audio Session 设置回 AVAudioSessionCategoryPlayback 类别。

   let audioSession = AVAudioSession.sharedInstance()
    do {
        try audioSession.setCategory(AVAudioSessionCategoryPlayback)
        try audioSession.setActive(false, with: .notifyOthersOnDeactivation)
    } catch {
        // handle errors
    }

希望对您有所帮助。

关于ios - swift 3 一起使用语音识别和 AVFoundation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40639660/

相关文章:

ios - 如果播放之间> 1秒,AVAudioPlayer和AudioServices都会延迟声音

ios - XIB 链接和电话号码检测颜色

ios-监听其他应用程序的键盘通知

ios - 如何在Objective-C中将NSMutableArray的元素设置为UILabel?

ios - 尝试呈现其 View 不在窗口层次结构中的 vc

ios - 从 viewdidload 将行插入到 TableView 中

c# - 如何使用 System.Speech 和 SAPI 5.3 向已加载的语法添加单词

swift - 使用 KIF 的简单测试用例失败

java - 如何使用 java 检测 wav 文件中是否存在单词/音频静音?

android - 如何将语音识别与我的相机应用程序集成?