前言:公司做的幼儿早教的东西,界面都是unity 3D的,iOS这边只负责给他们提供iOS端的接口,项目期间出现了这个问题让我苦苦不能解决,自己也是百般查资料,百般测试,最终得到一些成果。
问题描述:unity的界面展示需要背景音乐和语音识别的功能,我iOS写好的接入讯飞语音识别的文件嵌入到unity导出的Xcode工程中,当开始录音进行识别的时候,背景音乐和识别错误提示音都正常,当结束语音识别的时候,背景音乐就没有声音了,是一直都不会再有声音。控制台打印的信息中觉得最可疑的就是:
然后就以这个问题为出发点在网上搜啊搜,又类似该问题的方法都试了,但是没有得到解决。
问题描述:unity的界面展示需要背景音乐和语音识别的功能,我iOS写好的接入讯飞语音识别的文件嵌入到unity导出的Xcode工程中,当开始录音进行识别的时候,背景音乐和识别错误提示音都正常,当结束语音识别的时候,背景音乐就没有声音了,是一直都不会再有声音。控制台打印的信息中觉得最可疑的就是:
错误信息: [avas] AVAudioSession.mm:1074:-[AVAudioSession setActive:withOptions:error:]: Deactivating an audio session that has running I/O. All I/O should be stopped or paused prior to deactivating the audio session.
然后就以这个问题为出发点在网上搜啊搜,又类似该问题的方法都试了,但是没有得到解决。
但是发现,引起上述错误信息的方法是将下面这个单例方法中的Action参数设置为NO:
[[AVAudioSession sharedInstance] setActive:<#(BOOL)#> withOptions:<#(AVAudioSessionSetActiveOptions)#> error:<#(NSError * _Nullable __autoreleasing * _Nullab