【问题标题】:Unity doesn't work with Microsoft cognitive SpeechToText iOS SDKUnity 不适用于 Microsoft 认知 SpeechToText iOS SDK
【发布时间】:2016-07-10 02:45:43
【问题描述】:
我正在使用 Unity 5.3 和最新的 MS STT iOS SDK。如果我设置 UnitySetAudioSessionActive(1),MS STT 会在我第二次调用语音识别时给我一个错误状态 - SpeechClientStatus_MicrophoneUnavailable。
我不得不调用 UnitySetAudioSessionActive(1) 的原因是,在我使用 MS SpeechToText 之后,我的 IOS 应用程序无法正常播放音频剪辑。这是我发现我可以再次听到音频剪辑的唯一方法。
【问题讨论】:
标签:
ios
unity3d
speech-to-text
avaudiosession
microsoft-cognitive
【解决方案1】:
我已通过以下 2 个步骤解决了问题 -
在启动麦克风和识别的方法中,在调用 startMicAndRecognition 之前添加这些行
AVAudioSession * _aSession= [AVAudioSession sharedInstance];
[_aSession setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil];
[_aSession setActive:YES error:nil];
MicrophoneRecognitionClient* micClient = [SpeechRecognitionServiceFactory createMicrophoneClient:(SpeechRecognitionMode_ShortPhrase)
withLanguage:(self.defaultLocale)
withPrimaryKey:(self.subscriptionKey)
withSecondaryKey:(self.subscriptionKey)
withProtocol:(self)];
[micClient startMicAndRecognition];
在你得到最终消息的方法中做这样的事情 -
[micClient endMicAndRecognition];
UnitySetAudioSessionActive(1);