Khi applicationDidEnterBackground:
trigger, tôi tạm dừng các âm thanh được chơi bằng AVAudioPlayer
:âm thanh tạm dừng bắt đầu chơi tự động trên applicationWillEnterForeground:
[self.avPlayer pause];
Bây giờ, khi applicationWillEnterForeground:
cò súng, âm thanh bắt đầu chơi tự động! Vì tôi không khởi động âm thanh, giao diện người dùng không được cập nhật và nó cho thấy âm thanh vẫn ở trạng thái tạm dừng.
Điều gì đang xảy ra? Điều này đang xảy ra trong iOS 6.x, trên iPad 2. Vấn đề này không tái tạo trên iPad cũ hơn chạy iOS 5.x.
Đây là cách tôi thiết lập các 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];
Tại sao bạn không thực hiện [self.avPlayer pause]; một lần nữa trong applicationWillEnterForeground:? – soryngod
nơi bạn đang sử dụng mã này chính xác? –
Đó là một giải pháp hit-n-trial tồi tệ (theo ý kiến của tôi). Có nói rằng, :) Tôi thực sự DID thử điều đó và nó không hoạt động! Tôi không biết loại ma thuật nào đang được chơi ở đây. – Mustafa