Kiedy applicationDidEnterBackground:
wyzwalacze, wstrzymać dźwięk, który jest odtwarzany za pomocą AVAudioPlayer
:Wstrzymano dźwięku rozpoczyna odtwarzanie automatycznie applicationWillEnterForeground:
[self.avPlayer pause];
teraz, kiedy applicationWillEnterForeground:
wyzwalacze, dźwięk zaczyna automatycznie grać! Ponieważ nie uruchomiłem dźwięku, interfejs użytkownika nie jest aktualizowany i pokazuje, że dźwięk nadal znajduje się w stanie wstrzymania.
Co się dzieje? Dzieje się tak w iOS 6.x na iPadzie 2. Problem ten nie jest odtwarzany na starszym iPadzie z systemem iOS 5.x.
To jak ja skonfigurować AVAudioSession
:
// Setup the audio session
BOOL succeeded = NO;
NSError *sessionError = nil;
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setDelegate:self];
if ([session respondsToSelector:@selector(setPreferredSampleRate:error:)]) {
succeeded = [session setPreferredSampleRate:128000.0f error:&sessionError];
} else {
succeeded = [session setPreferredHardwareSampleRate:128000.0f error:&sessionError];
}
succeeded = [session setCategory:AVAudioSessionCategorySoloAmbient error:&sessionError];
succeeded = [session setActive:YES error:&sessionError];
Dlaczego nie wykonasz [self.avPlayer pause]; ponownie w aplikacjiWillEnterForeground:? – soryngod
gdzie dokładnie używasz tego kodu? –
To jest złe rozwiązanie dla próby trafienia (w mojej opinii). Powiedziawszy to, :) faktycznie próbowałem tego i to nie działa! Nie wiem, jakie magia tu gra. – Mustafa