2011-11-16 7 views
6

मुझे पता है कि ऐप्पल में आईओएस 5 में स्विच करने का तरीका प्रदान नहीं करता है। हालांकि, मैंने ऑडियो फाइल चलाकर और रनटाइम को मापकर इसका पता लगाने के लिए कहीं और उल्लेख की गई तकनीक की कोशिश की है। हालांकि, भले ही मेरा आईफोन म्यूट हो गया था, फिर भी ऑडियो फाइल पूरी अवधि खेला। मैं [AVAudioPlayer play] का उपयोग कर रहा हूं और audioPlayerDidFinishPlaying से पहले समय की गणना कर रहा हूं। क्या आप एक ऑडियो फाइल चलाने के लिए एक चाल के बारे में जानते हैं, जो फोन म्यूट होने पर जल्दी/तत्काल पूरा हो जाएगा?आईओएस में आईफोन म्यूट स्विच का पता लगाना 5

उत्तर

4

अद्यतन: क्षमा करें नीचे दिया गया कोड पोस्ट मेरे लिए ठीक काम करता है लेकिन मैं आईओएस 4 का उपयोग कर रहा हूं। आईओएस 5 के लिए यह उत्तर आपकी समस्या का समाधान करेगा - Detecting the iPhone's Ring/Silent/Mute switch using AVAudioPlayer not working?

कोड का यह टुकड़ा आपको चाहिए। एक वैश्विक gAudioSessionInited var परिभाषित करें। यह ध्वज आपको बताता है कि आपका म्यूट स्विच चालू या बंद है या नहीं।

// "Ambient" makes it respect the mute switch. Must call this once to init session 
if (!gAudioSessionInited) 
{ 
    AudioSessionInterruptionListener inInterruptionListener = NULL; 
    OSStatus error; 
    if ((error = AudioSessionInitialize (NULL, NULL, inInterruptionListener, NULL))) 
     NSLog(@"*** Error *** error in AudioSessionInitialize: %d.", error); 
    else 
     gAudioSessionInited = YES; 
} 

SInt32 ambient = kAudioSessionCategory_AmbientSound; 
if (AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (ambient), &ambient)) 
{ 
    NSLog(@"*** Error *** could not set Session property to ambient."); 
} 
+0

हाय। यह आईओएस में काम कर रहा है? – Gopinath

+0

हाँ यह आईओएस के लिए है। आप किस संस्करण के बारे में बात कर रहे हैं ... –

+1

गलती के लिए खेद है। यह आईओएस 5 काम कर रहा है? और देरी के लिए खेद है। – Gopinath

संबंधित मुद्दे