WebHU - Programozási kérdések és válaszok

Folytassa a hang lejátszását a html5 lejátszóból iOS háttérmódban

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ó?


Válaszok:


1

Az alkalmazásom egy <audio> címkén keresztül játssza le a hangot a UIWebView-ban tárolt html-ben, és támogatja a háttérben történő lejátszást.

Ahogy azt javasolja, a listában meg kell határoznia az „Alkalmazás hangot játszik le” háttérmódot.

Próbálja meg hozzáadni ezt a applicationDidFinishLaunching: kezelőhöz:

NSError *setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryError];
25.01.2012

2

Köszönöm srácok, de végül egyszerűen lefoglaltam az alkalmazást, amikor háttér módban voltam. Ez elég volt ahhoz, hogy áthidalja az időt, amikor a lejátszási lista következő dalához csatlakozott. Az általam használt kód hasonló ehhez: iPhone – Háttér az események szavazásához

02.02.2012
  • Működik még ez a megoldás? Meg tudod adni azt a kódot, amit használtál? 06.05.2020

  • 3

    Kipróbálhatja ezt, és hozzáadhat egy függvényt a onend eseményhez.

    25.01.2012
    Új anyagok

    A rádiógomb ellenőrzött eseményének használata a jQueryben
    Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

    Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
    Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

    Miért érdemes elkezdeni a kódolást 2023-ban?
    01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

    🎙 Random Noise #2  – Örökbefogadás és hit
    az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

    A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
    A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

    5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
    Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

    Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
    A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..