2010-04-11 7 views
5

मुझे यह tutorial मिला, और यह अच्छा है, लेकिन मेरे लिए काम नहीं करता है!माइक में झटका खोजें और कुछ करें

if (lowPassResults < 0.95) 
:

2010-04-11 23:32:27.935 MicBlow[2358:207] Mic blow detected 
2010-04-11 23:32:27.965 MicBlow[2358:207] Mic blow detected 
2010-04-11 23:32:27.995 MicBlow[2358:207] Mic blow detected 
2010-04-11 23:32:28.026 MicBlow[2358:207] Mic blow detected 
2010-04-11 23:32:28.055 MicBlow[2358:207] Mic blow detected 
2010-04-11 23:32:28.086 MicBlow[2358:207] Mic blow detected 
2010-04-11 23:32:28.115 MicBlow[2358:207] Mic blow detected 
2010-04-11 23:32:28.145 MicBlow[2358:207] Mic blow detected 
2010-04-11 23:32:28.175 MicBlow[2358:207] Mic blow detected 
2010-04-11 23:32:28.205 MicBlow[2358:207] Mic blow detected 
2010-04-11 23:32:28.236 MicBlow[2358:207] Mic blow detected 

मैं भी यह राशि बदल:

- (void)listenForBlow:(NSTimer *)timer { 
    [recorder updateMeters]; 

    const double ALPHA = 0.05; 
    double peakPowerForChannel = pow(10, (0.05 * [recorder peakPowerForChannel:0])); 
    lowPassResults = ALPHA * peakPowerForChannel + (1.0 - ALPHA) * lowPassResults; 

    if (lowPassResults > 0.95) 
     NSLog(@"Mic blow detected"); 
//change the background color e.g ! 
} 
कंसोल में

मुझे इस तरह NSLog reseult दिखाने (किसी भी गेंदबाजी के बिना!):

यहाँ कोड है

से

if (lowPassResults > 0.95) 

तो यह काम लगता है! लेकिन कुछ भी पीछा नहीं करता है, फिर अगर मैं पृष्ठभूमि बदलता कोड डालता हूं, तो मेरा कोड पृष्ठभूमि बदलता है लेकिन बिना किसी गेंदबाजी के !! समस्या क्या है?

+2

"फिर अगर मैं पृष्ठभूमि बदलता कोड डालता हूं, तो मेरा कोड पृष्ठभूमि बदलता है लेकिन बिना किसी गेंदबाजी के" यह कोई समझ नहीं आता है। – Timmmm

+0

यह सिम्युलेटर में काम कर रहा है लेकिन फोन में काम नहीं कर रहा है ?? क्या करने के लिए कोई सेटिंग्स है ?? – slaveCoder

+0

@zoul मोमी कोई विचार – slaveCoder

उत्तर

3

मैं इसका भी उपयोग कर रहा हूं और यह मेरे लिए काम करता है। lowPassResults के साथ तुलना करने के लिए आपको बस मूल्य के साथ खेलना होगा। यहां मेरा कोड है:

 
- (void)levelTimerCallback:(NSTimer *)timer { 
    [recorder updateMeters]; 

    const double ALPHA = 0.05; 
    double peakPowerForChannel = pow(10, (0.05 * [recorder peakPowerForChannel:0])); 
    lowPassResults = ALPHA * peakPowerForChannel + (1.0 - ALPHA) * lowPassResults; 
    //NSLog(@"%f", lowPassResults); 
    if (lowPassResults > 0.55) 
     NSLog(@"Mic blow detected"); 
} 
+0

कोई काम नहीं कर रहा @ लिंग। कृपया मुझे मार्गदर्शन कर सकते हैं। वही समस्या आ रही है। उड़ने के बिना यह बीजी रंग बदल जाते हैं –

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