nagrywanie dźwięku w tle na iOS

Mam aplikację, która korzysta z usług lokalizacyjnych w tle. Działa w porządku. Ale w pewnym momencie chcę sprawdzić niektóre poziomy dźwięku, gdy aplikacja jest w tle. Z jakiegoś powodu nie działa. Podczas pracy na pierwszym planie funkcja działa dobrze, ale gdy znajduje się w tle, średnia wartość rejestratora audio i wejście szczytowe wynoszą zawsze -120 ..

To jest to, czego używam do zrobienia sztuczki (która najwyraźniej nie działa).

            ....
            [recorder record];
            if (levelTimer == nil) {
                    bgTask = 0;
                    app = [UIApplication sharedApplication];
                    bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
                        [app endBackgroundTask:bgTask];
                    }];
                levelTimer = [NSTimer scheduledTimerWithTimeInterval: 0.02 target: self selector: @selector(levelTimerCallback:) userInfo: nil repeats: YES];
            }
            ...

I taklevelTimerCallback jest wywoływane co 0,02 sekundy, nawet gdy w tle, więc zakładam, żebeginBackgroundTaskWithExpirationHandler działa w porządku.

Jakieś myśli lub jakieś wskazówki?

questionAnswers(3)

yourAnswerToTheQuestion