[avas] AVAudioSession.mm:1074:-[AVAudioSession setActive:withOptions:error:]: Deactivating an audio session that has running I/O

关于最近使用讯飞语音识别时出现的问题。


因为需求,打算使用识别的实时返回结果的方式,进行类似同传的效果(一边识别一边返回结果,然后把返回结果进行翻译,并通过语音合成播放出来)的时候,出现了下面的错误:

[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.

字面意思大致是说不能同时播放与录音。

这就尴尬了,这大致是由于setActive没有设置为 true 导致的。讯飞源码不开放,所以没法在里面实时修改。

这时想到使用分类重写

-(BOOL)setActive:(BOOL)active withOptions:(AVAudioSessionSetActiveOptions)options error:(NSError*_Nullable__autoreleasing*)outError {

return NO;

}

我认为的分类是可以覆盖super class的方法,所以新建分类 LSAudioSession,继承于 AVAudioSession。

.h

#import 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值