Zene-orientált alkalmazásunkat html5 és javascript nyelven építettük meg Sencha touch segítségével. A terjesztéshez xcode-ba csomagoltuk az UIwebView-val. Minden jól működik, kivéve egy dolgot, ami nem működik: a hanglejátszás többfeladatos módban.
Ismerem az általános ötletet: add hozzá az UIBackgroundModes-t az info.plist-hez.
Kész. Most már háttér módban is lejátszhatjuk a hangot.
Amíg a dal végére nem érünk. A következő dal elindításához újra előtérbe kell hoznunk az alkalmazást, vagy megnyomhatjuk az iPhone audiovezérlőjén a lejátszás vagy a 'next song' gombot.
Némi kutatás után egy ígéretes megoldást találtam a következő címen: " Háttér megadása iOS4 hang lejátszásához ", ahol a megoldás az AVAudioSessionCategoryPlayback szerkesztése és az UIBackgroundTaskIdentifier használata. A probléma számomra az (akárcsak minden eddigi javításnál), hogy ezek a megoldások mindig azt feltételezik, hogy a hangot az AVaudioPlayer vagy az MPMusicPlayerController segítségével játssza le. De az én esetemben egyiket sem használom, a hangunkat az UIwebView-ba csomagolt html5 lejátszónk játssza le.
Van valakinek tanácsa, hogyan lehet folytatni a hang lejátszását iOS multitask módban, ha az audiolejátszó html5/javascript lejátszó?