How to properly handle audio interruptions?

后端 未结 2 1976
时光取名叫无心
时光取名叫无心 2021-02-04 09:59

I\'ve created a OpenGL 3D game utilizing OpenAL for audio playback and experienceing a problem of losing audio if \"Home\" button is getting pressed before audio device is getti

2条回答
  •  傲寒
    傲寒 (楼主)
    2021-02-04 10:26

    Try using NULL in alcMakeContextCurrent()

    void OpenALInterriptionListener(void *inClientData, UInt32 inInterruptionState)
    {
        OpenALDevice * device = (OpenALDevice *) inClientData;
        OSStatus nResult;
    
        if( inInterruptionState == kAudioSessionBeginInterruption )
        {
            alcMakeContextCurrent(NULL);    
        }
        else if( inInterruptionState == kAudioSessionEndInterruption )
        {
            nResult = AudioSessionSetActive(true);
    
            if( nResult )
            {
                //  "Error setting audio session active"
            }
    
            alcMakeContextCurrent( device->GetContext() );
        }
    }
    

提交回复
热议问题