Intereting Posts
Как получить ответ веб-службы в приложении iOS, когда приложение находится в фоновом режиме? Как показать оверлейное представление информации с помощью двух кнопок больше, когда я нажимаю маркер на google в iOS Как сделать код анимации доступным для нескольких классов – Повторное использование iOS 7: клавиатурные шоу в UIKeyboardAppearanceLight, когда приложение открывается с экрана многозадачности Есть ли способ интегрировать Node.JS с Objective-C / iPhone SDK? Пользовательский вход в Twitter с помощью Swift и Parse UIImagePickerController медленный, когда есть активная AVSession Несколько контроллеров просмотра на одном контроллере просмотра Извлечь пути безье от png Google Hangouts переводит URL-адрес глубокого URL-адреса настраиваемого приложения в сафари, а затем показывает, как открыть приложение NSUserdefault и основные данные Отладка статической библиотеки в Xcode Проверка подтверждения Apple для iOS7. Добавьте библиотеки libcrypto.a и libssl.a в проект XCode Проблема AFNetworking: NSErrorFailingURLKey = url, NSLocalizedDescription = Запрос не выполнен: неверный запрос (400) Установка repeatCount на 1e100f дает предупреждение

Воспроизведение звука в iOS делает паузу фоновой музыкой

Как воспроизвести звук в iOS без приостановки фоновой музыки?

У меня есть это:

NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"alert" ofType:@"wav"]; NSURL *url = [NSURL URLWithString:soundPath]; [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil]; AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL: url error:nil]; audioPlayer.numberOfLoops = 0; [audioPlayer play]; 

И все же любая фоновая музыка прекращается. Что мне не хватает?

Я также пробовал это, безрезультатно:

 - (void)alarm:(CDVInvokedUrlCommand *)command { [self setupAudioSession]; NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"alert" ofType:@"wav"]; NSURL *url = [NSURL URLWithString:soundPath]; AVPlayer *audioPlayer = [[AVPlayer alloc] initWithURL: url]; [audioPlayer play]; } - (void)setupAudioSession { AudioSessionInitialize(NULL,NULL,NULL,NULL); OSStatus activationResult = 0; activationResult = AudioSessionSetActive(true); UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback; AudioSessionSetProperty ( kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory ); OSStatus propertySetError = 0; UInt32 allowMixing = true; propertySetError = AudioSessionSetProperty ( kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof(allowMixing), &allowMixing ); [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil]; } 

Вам нужно установить соответствующий сеанс аудио, что-то вроде этого:

 AudioSessionInitialize(NULL,NULL,NULL,NULL); OSStatus activationResult = 0; activationResult = AudioSessionSetActive(true); UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback; AudioSessionSetProperty ( kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory ); OSStatus propertySetError = 0; UInt32 allowMixing = true; propertySetError = AudioSessionSetProperty ( kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof(allowMixing), &allowMixing );