Apple Watch 语音转文本功能不起作用

Posted

技术标签:

【中文标题】Apple Watch 语音转文本功能不起作用【英文标题】:AppleWatch Speech-to-Text functionality not working 【发布时间】:2015-07-01 23:35:25 【问题描述】:

我正在尝试为 watchkit 应用程序实现语音到文本功能。 我提到了this 有示例代码的问题。

以下是我试过的代码:

self.presentTextInputControllerWithSuggestions(["Start it", "Stop it"], allowedInputMode: .Plain, completion:  (selectedAnswers) -> Void in
    if selectedAnswers.count > 0 
        if let spokenReply = selectedAnswers[0] as? String 
            self.label.setText("\(spokenReply)")
        
    
)

label 是显示我所说的文本的标签。 当我运行它时,它会显示你应该说话的屏幕(Siri 类型的屏幕),顶部有两个选项:“取消”和“完成”。一旦我说完,我点击“完成”,但屏幕不会消失或显示初始屏幕,我总是必须点击“取消”才能返回,而且我没有得到任何形式的语音数据文本。我检查了一下,似乎selectedAnswers 总是一个空数组,除非我点击“开始”/“停止”选项。

谁能帮我解决这个问题?我想在label 上显示语音消息。我在 InterfaceController.swift 文件中的 awakeWithContext 方法中有代码,我应该把它放在其他地方吗?

我在 AppleWatch 上使用装有 ios 9 beta 2 和 watchOS 2 beta 的 iPhone。

谢谢!

【问题讨论】:

【参考方案1】:

您可以要求用户输入并给他建议(参见下面的 Swift 示例)。

self.presentTextInputControllerWithSuggestions(["suggestion 1", "suggestion 2"] allowedInputMode: .Plain, completion:  (answers) -> Void in
if answers && answers.count > 0 
    if let answer = answers[0] as? String 
        println("\answer")
    

)

如果建议为零,则直接进入听写。它在模拟器上不起作用,但在真实手表上。

您的方法是正确的,但您的 SIRI 有问题,请尝试更改语言。

它应该像这样工作。

【讨论】:

那么您的代码中的reply 是什么?你如何得到它,它应该在哪里定义? (我认为应该是answers 而不是reply 我的 iPhone 上的 Siri 出现了一些问题,因为它没有将语音转换为文本,现在它可以正常工作了,谢谢! happy.to hear.that.!!享受编码:)

以上是关于Apple Watch 语音转文本功能不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Scaled Metric 在 Apple Watch 上不起作用?

iPhone应用程序处于终止状态时Apple Watch应用程序不起作用?

我的Pyttsx3模块没有说什么,但文本到语音功能不起作用,没有获得任何音频输出

跨浏览器文本到语音 Javascript 库

Microsoft TTS SaveToWaveFileAsync 功能不起作用

关于语音识别的 Android 附加功能不起作用