मैंने ऑडियो प्लेबैक के लिए ओपनएएल का उपयोग करने वाला ओपनजीएल 3 डी गेम बनाया है और ऑडियो डिवाइस खोने से पहले "होम" बटन दबाए जाने पर ऑडियो खोने की समस्या का अनुभव कर रहा है। मैंने ऑडियो सत्र में हस्तक्षेप करने वाले हैंडलर को हुक करने की कोशिश की, लेकिन मेरी कॉलबैक कभी नहीं बुला रही है। कोई फर्क नहीं पड़ता कि मैं अपने आवेदन को कम या अधिकतम करता हूं। मेरा "OpenalInterruptionListener" कभी भी बुलाया नहीं जा रहा है।ऑडियो बाधाओं को सही तरीके से कैसे संभालें?
मैं क्या गलत कर रहा हूं?
AudioSessionInitialize(NULL, NULL, OpenALInterriptionListener, this);
void OpenALInterriptionListener(void * inClientData, UInt32 inInterruptionState)
{
OpenALDevice * device = (OpenALDevice *) inClientData;
if (inInterruptionState == kAudioSessionBeginInterruption)
{
alcSuspendContext(_context);
alcMakeContextCurrent(_context);
AudioSessionSetActive(false);
}
else if (inInterruptionState == kAudioSessionEndInterruption)
{
UInt32 sessionCategory = kAudioSessionCategory_AmbientSound;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
AudioSessionSetActive(true);
alcMakeContextCurrent(_context);
alcProcessContext(_context);
}
}
[http://benbritten.com/2009/02/02/restarting-openal-after-plplication-interruption-on-the-iphone/](http://benbritten.com/2009/02/02/ पुन: प्रारंभ-OpenAL के बाद आवेदन-रुकावट-ऑन-द iphone /) – james82345