Ответ 1
После воспроизведения ваших звуков отключите AVAudioSession
[[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil];
Я использую Audioplayer
для воспроизведения аудиофайла, который составляет 5-10 секунд. Мое приложение позволяет создавать фоновые мелодии других приложений. Во время воспроизведения моего звука я деактивирую другую музыку, используя
[[AVAudioSession sharedInstance] setActive:YES withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil];
После завершения моего звука я хочу воспроизвести дезактивированную музыку.
Возможно ли это в AVAudioPlayer
и AVAudioSession
? Или же какая поддержка поддерживает эту возобновляемую функциональность?
После воспроизведения ваших звуков отключите AVAudioSession
[[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil];
Вы можете создать класс для всех своих звуковых вызовов.
Или, если вы знаете, какую игру, вы можете сохранить их в массиве и воспроизвести их.
Структура не позволяет делать то, что вы хотите.
Я рекомендую создать свой собственный класс-оболочку для любых звуковых вызовов.
Я немного искал и нашел этот пост.
Из связанного ответа:
[[AVAudioSession sharedInstance] setActive:NO withFlags:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:&error];
Всякий раз, когда вам не требуется сеанс аудио в вашем приложении (т.е. Когда вы не выводите звук), вы должны отключить его. Там, где это имеет смысл, вы должны использовать этот метод, чтобы любой фоновый звук был уведомлен и может возобновиться (приложения, получающие это уведомление, не обязательно должны возобновляться).
Я не подтвердил, что это работает, но это что-то попробовать, и я надеюсь, что это поможет.