iOS录音错误:Deactivating an audio session that has running I/O
来源:互联网 发布:mac skype 下载 编辑:程序博客网 时间:2024/05/01 16:57
情景再现:
在开发过程中,发现执行以下代码的时候,xcode控制台输出了一个错误。
[[AVAudioSession sharedInstance] setActive:NO withFlags:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil];
报的错误如下:
[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.
上面的代码是在录音完成的时候去恢复其他应用的正在播放的音频。其实就是,在录音的时候,要停止其他APP的一切声音,录完之后再恢复。就是在恢复的时候出了问题。
问题分析:
如果你自己的app在录音前后没有播放声音的话,就不会出现以上问题。
问题就出在自己的app在播放音效的时候,开始录音,录完之后恢复,出问题了。
我的app是在cocos2d游戏中进行录音。
从报的错误来看,就是在执行上面代码的时候,AVAudioSession没有停止,虽然在前面已经执行了[recoder stop],但是游戏中的AVAudioSession并没有停止。
我的解决办法:
在我的应用中,录音的时候并不需要去停止和恢复其他app的声音,在打开应用的时候就关闭了其他声音。只需要录完音恢复游戏的声音就可以。
所以执行以下代码就可以达到目的:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategorySoloAmbient error:nil];
这句是设置AVAudioSession为默认属性。
附:录音开始的时候需要设置为:
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:&err];
其他观点:
http://stackoverflow.com/questions/31866639/avaudiosession-audio-dimming-error-deactivating-an-audio-session-that-has-runni
https://github.com/muhku/FreeStreamer/issues/147
- iOS录音错误: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
- iOS Audio Unit 录音 AudioStreamBasicDescription 详解
- 92.You executed the following commands in an RMAN session for your database instance that has failur
- iOS 开发 初级:Audio 之 Audio Session
- iOS 开发 初级:Audio 之 Audio Session
- A requirement that almost every single application has is "I want to scale up an ImageView proportio
- iOS--错误集锦--Your session has expired. Please log in.
- ios中audio session纪录
- Core Audio I/O File Recording
- iOS:模拟器错误 An error was encountered while running (Domain = FBSOpenApplicationErrorDomain, Code = 4)
- iOS开发打不开相册相机,并报Snapshotting a view that has not been rendered results in an empty snapshot.
- FILE I/O 错误
- Background audio through an iOS movie player
- Session Statistics--Session I/O By User
- How to Create an Application that has Office Style
- I/O field has no accessible label
- What is an unaligned I/O?
- AngularJS事件绑定的使用详解
- Spring Boot 实用MyBatis做数据库操作
- Longest Consecutive Sequence ---LeetCode
- hotplug_uevent机制学习笔记
- SQLServer中日期函数大全
- iOS录音错误:Deactivating an audio session that has running I/O
- mysql查询语句in和exists二者的区别和性能影响
- C# 模拟键盘操作SendKey(),SendKeys()
- struts2 根空间和默认命名空间区别
- 理解Ecmascript 6中的类和继承
- java控制台输入
- 数组,多维数组及指针数组代码验证
- java热词 耦合
- 编程练习题