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?