AudioQueue callback get empty buffer on iOS 7 only

前端 未结 2 1490
旧巷少年郎
旧巷少年郎 2021-02-04 23:09

I got a strange issue. My code works great on both iOS 5&6 but when running on iOS 7 I get empty buffers on the AudioQueue callback.

Possible relevant code:

2条回答
  •  广开言路
    2021-02-04 23:37

    I found the issue! seems like on iOS 7 there is a need to set this also (I assume this is only practically therefore it's hard to find, isn't written anywhere). Just add this code before calling any AudioQueue function:

    AudioSessionInitialize(NULL,
                           NULL,
                           nil,
                           ( void *)(self)
                           );
    
    UInt32 sessionCategory = kAudioSessionCategory_PlayAndRecord;
    AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,
                            sizeof(sessionCategory),
                            &sessionCategory
                            );
    
    AudioSessionSetActive(true);
    

    Hope that would help others.

    Another resource that can help can be found here.

提交回复
热议问题