Мы создали наше музыкально-ориентированное приложение на html5 и javascript с приложением Sencha touch. Для распространения мы завернули его в xcode с помощью UIwebView. Все работает нормально, кроме одной вещи, которая не работает: воспроизведение звука в многозадачном режиме.
Я знаю общую идею: добавьте UIBackgroundModes в info.plist.
Готово. Теперь мы можем воспроизводить звук даже в фоновом режиме.
Пока мы не дошли до конца песни. Чтобы запустить следующую песню, нам нужно снова вывести приложение на передний план, или мы можем нажать кнопку воспроизведения или «следующую песню» на аудиоконтроллере iPhone.
После некоторых исследований я нашел многообещающий обходной путь: « Ввод фона на iOS4 для воспроизведения звука », где обходной путь заключается в редактировании AVAudioSessionCategoryPlayback и работе с UIBackgroundTaskIdentifier.
Проблема для меня (как и в любом другом исправлении, которое я обнаружил) заключается в том, что эти решения всегда предполагают, что звук воспроизводится либо с помощью AVaudioPlayer, либо MPMusicPlayerController. Но в моем случае я не пользуюсь ни нашим, наше аудио воспроизводится нашим html5-плеером, завернутым в UIwebView.
У кого-нибудь есть советы о том, как продолжить воспроизведение звука в многозадачном режиме iOS, когда аудиопроигрыватель является проигрывателем html5 / javascript?