मैं पृष्ठभूमि में खेलने के लिए अपना ऑडियो ऐप प्राप्त करने का प्रयास कर रहा हूं। अब तक मैं जोड़ा Info.plist में "आवश्यक पृष्ठभूमि मोड" और भी निम्न कोड को "ऐप्स को ऑडियो निभाता है" बस अपना ध्वनि जनरेटर शुरू करने से पहले:स्क्रीन लॉक होने पर आईओएस पृष्ठभूमि ऑडियो बंद हो जाता है
AudioSessionInitialize(NULL, kCFRunLoopDefaultMode, &interruptionListener, sgD);
AudioSessionAddPropertyListener(kAudioSessionProperty_AudioRouteChange, &routeChangeListener, sgD);
// select "Playback" audio session category
NSError *setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryError];
OSStatus propertySetError = 0;
UInt32 category = kAudioSessionCategory_MediaPlayback;
propertySetError = AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (category), &category);
AudioSessionSetActive(true);
हालांकि, यह केवल काम करता है जब मैं एक ऐप्लिकेशन पर स्विच या आइपॉड की मुख्य स्क्रीन पर। जब मैं स्क्रीन बंद करता हूं, तो यह मेरे ऑडियो आउटपुट को भी बंद कर देता है, जो निश्चित रूप से मैं नहीं चाहता हूं। हालांकि, सभी ट्यूटोरियल/प्रलेखन/स्टैक ओवरफ्लो पर सवालों के जवाब यह इंगित करते हैं कि स्क्रीन बंद होने पर ऑडियो चलाना स्वचालित रूप से आता है जब आप पृष्ठभूमि ऑडियो को काम पर लेते हैं। क्या किसी के पास मेरे लिए संकेत है? आपका अग्रिम रूप से बोहोत धन्यवाद! फ्रिट्ज
मैं क्या कह करना भूल गया: मैं ऑडियो आउटपुट स्ट्रीम उत्पन्न करने के लिए ऑडियोक्यूयू का उपयोग कर रहा हूं। स्क्रीन बंद होने पर ऑडियो कतार कॉलबैक को कॉल किया जाता है, लेकिन हेडफ़ोन पर ध्वनि नहीं सुनाई देती है। यह कुछ ऑडियो रूट समस्या का संकेत हो सकता है। हालांकि, मेरे मार्ग परिवर्तन कॉलबैक कभी नहीं कहा जाता है। –
ठीक है, समस्या हल हो गई है ... यह पता चला है कि स्क्रीन बफर आकार को स्क्रीन बंद होने पर चलाने के लिए पर्याप्त होना चाहिए। मुझे नहीं पता कि यह सभी ऐप्स पर लागू होता है, लेकिन मेरे ऐप को कम से कम 2048 नमूने के बफर आकार की आवश्यकता होती है। 1024 नमूने के साथ यह अभी काम करना बंद कर दिया। –
यदि आप इसे काम करने में सक्षम थे, तो क्या आप अपना समाधान उत्तर के रूप में जोड़ सकते हैं? धन्यवाद। –