我刚刚发现我的“关闭”代码中的AudioSessionSetActive(false)
调用永远不会返回noErr。有一些未记录的代码,如(OSStatus) 803204036
,它们对应于所列的返回代码:
http://developer.apple.com/library/ios/#documentation/AudioToolbox/Reference/AudioSessionServicesReference/Reference/reference.html
我查看了与AudioSessionSetActive()
相关的所有列出的Xcode示例代码,并且发现绝对没有使用“false”参数的调用。
所有样本只是在各种情况下调用AudioSessionSetActive(true)
。样本是:
iPhoneExtAudioFileConvertTest
iPhoneMixerEQGraphTest
iPhoneMultichannelMixerTest
MusicCube
oalTouch
aurioTouch
aurioTouch2
GLAirplay
iPhoneACFileConvertTest
iPhoneMixerEQGraphTest
SpeakHere
我们是不是应该自己打电话给AudioSessionSetActive()
?
是否隐式处理了停用?
答案 0 :(得分:1)
好的,我自己也找到了这个问题。
我在调用AudioOutputUnitStop()
和AudioUnitUninitialize()
之前尝试将其设置为false。
我能够通过在这些调用成功后调用AudioSessionSetActive(false)
来修复它。