Workaround voor tab hibernation op mobiel

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Koenvh
  • Registratie: December 2011
  • Laatst online: 00:28

Koenvh

Hier tekenen: ______

Topicstarter
Goedendag,

Ik heb zo veel mogelijk mijn vraag in de titel proberen te proppen, maar da's niet helemaal gelukt.
De afgelopen tijd ben ik bezig met een project, wat kort samen te vatten is als een HTML5 audio player. Dit werkt prima, maar op mobiel helaas niet. Wat er gebeurt is dat het tabblad in slaapstand wordt gezet, waardoor het volgende nummer in de afspeellijst niet aangeroepen wordt. Graag zou ik natuurlijk wel hebben dat hij door blijft spelen totdat het einde van de afspeellijst is bereikt of de gebruiker de muziek pauzeert.

Mijn vraag is dan ook: Hoe zorg ik ervoor dat het tabblad toch actief blijft, en de muziek door blijft spelen?

Aangezien dit niet helemaal de bedoeling is van het in slaapstand zetten heb ik hier geen duidelijk antwoord op kunnen vinden. Wat wel zou werken is via metatags een refresh triggeren, alleen dan stopt de muziek sowieso.

Een alternatief is een app maken, die enkel de website weergeeft, maar dat doe ik liever niet.

🠕 This side up

Alle reacties


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Volgens mij kan dat niet en zelfs als het wél zou kunnen klinkt dit als een van die dingen die op elk mobiel platform anders werken.

Een aparte app zou volgens mij hetzelfde probleem hebben trouwens, tenzij je meer doet dan alleen de website weergeven.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 29-09 15:25
Wellicht, maar dat weet ik absoluut niet zeker, kun je iets met service workers doen?

Full-stack webdeveloper in Groningen


Acties:
  • 0 Henk 'm!

  • Koenvh
  • Registratie: December 2011
  • Laatst online: 00:28

Koenvh

Hier tekenen: ______

Topicstarter
Spinal schreef op woensdag 24 augustus 2016 @ 14:03:
Wellicht, maar dat weet ik absoluut niet zeker, kun je iets met service workers doen?
Helaas... http://stackoverflow.com/...orkers-in-mobile-browsers
NMe schreef op woensdag 24 augustus 2016 @ 12:39:
Volgens mij kan dat niet en zelfs als het wél zou kunnen klinkt dit als een van die dingen die op elk mobiel platform anders werken.

Een aparte app zou volgens mij hetzelfde probleem hebben trouwens, tenzij je meer doet dan alleen de website weergeven.
Zo ver was ik helaas al. Toch hoop ik dat iemand nog met een magische suggestie komt :P
Waarom denk je dat een aparte app ook niet zou werken? Dan is het toch mogelijk om de app (inclusief de website in een WebView wrapper oid) actief te houden?

🠕 This side up


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Ik geloof niet dat het zo simpel is, maar dat is niet meer dan een vermoeden. Volgens mij kun je de app wel actief houden maar wordt het spelen van media in een webview gepauzeerd. Allicht het proberen waard though. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 04-07 16:30
Ik denk dat het niet kan, en als het wel kan het als bug gezien wordt door de OS vendors en het met de eerste patchronde weer weggepatcht wordt.

Acties:
  • 0 Henk 'm!

  • Koenvh
  • Registratie: December 2011
  • Laatst online: 00:28

Koenvh

Hier tekenen: ______

Topicstarter
johnkeates schreef op woensdag 24 augustus 2016 @ 18:15:
Ik denk dat het niet kan, en als het wel kan het als bug gezien wordt door de OS vendors en het met de eerste patchronde weer weggepatcht wordt.
Niet alle "bugs" worden direct aangepakt. ;)
Overigens lijkt het me toch dat er wel een manier moet zijn, immers, als HTML5 applicaties moet gaan vervangen, is 't toch wel zo handig als ze actief kunnen blijven.
NMe schreef op woensdag 24 augustus 2016 @ 18:13:
Ik geloof niet dat het zo simpel is, maar dat is niet meer dan een vermoeden. Volgens mij kun je de app wel actief houden maar wordt het spelen van media in een webview gepauzeerd. Allicht het proberen waard though. :)
Ik heb geen ervaring met programmeren voor Android, dus hoewel ik het op een gegeven moment wel aan de praat krijg, zoek ik liever naar een alternatieve oplossing, die ook nog 'ns werkt op iOS.

🠕 This side up


Acties:
  • 0 Henk 'm!

  • merauder
  • Registratie: November 2005
  • Laatst online: 08-10 14:02
De oplossing zit serverside. Wat als je aan de serverkant een constante stream opzet waar je de audiofiles in zet. Dus als je liedje - X instart, wordt deze in werkelijkheid aan een stream toegevoegd. De stream bestuur je vervolgens doormiddel van een aantal listeners op een API.

Acties:
  • 0 Henk 'm!

  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 04-07 16:30
Koenvh schreef op woensdag 24 augustus 2016 @ 18:46:
[...]

Niet alle "bugs" worden direct aangepakt. ;)
Overigens lijkt het me toch dat er wel een manier moet zijn, immers, als HTML5 applicaties moet gaan vervangen, is 't toch wel zo handig als ze actief kunnen blijven.


[...]

Ik heb geen ervaring met programmeren voor Android, dus hoewel ik het op een gegeven moment wel aan de praat krijg, zoek ik liever naar een alternatieve oplossing, die ook nog 'ns werkt op iOS.
Laat ik het dan zo zeggen: HTML5 op de achtergrond door laten draaien is niet een ding op mobiele platforms. Dat gaat het ook nooit worden want dat zou de accu nogal snel leegzuigen. Geen enkele browserbouwer wil bekend staan om 'de browser die je accu snel leeg trekt'.

Acties:
  • 0 Henk 'm!

  • Koenvh
  • Registratie: December 2011
  • Laatst online: 00:28

Koenvh

Hier tekenen: ______

Topicstarter
johnkeates schreef op woensdag 24 augustus 2016 @ 19:03:
[...]


Laat ik het dan zo zeggen: HTML5 op de achtergrond door laten draaien is niet een ding op mobiele platforms. Dat gaat het ook nooit worden want dat zou de accu nogal snel leegzuigen. Geen enkele browserbouwer wil bekend staan om 'de browser die je accu snel leeg trekt'.
Uiteraard, maar net zoals er een pop-up is die vraagt of je je locatie door wilt geven zou er toch ook een pop-up kunnen zijn die vraagt of de website op de achtergrond mag draaien? Enfin, dat is op het moment nog geen oplossing.
merauder schreef op woensdag 24 augustus 2016 @ 19:03:
De oplossing zit serverside. Wat als je aan de serverkant een constante stream opzet waar je de audiofiles in zet. Dus als je liedje - X instart, wordt deze in werkelijkheid aan een stream toegevoegd. De stream bestuur je vervolgens doormiddel van een aantal listeners op een API.
Dat kan (ook al zou het wel betekenen dat ik een heleboel om moet gaan gooien), maar dan heb je weer de volgende problemen:
- Meerdere gelijktijdige instanties
- Audio ophalen kan lang duren, dus dan is er een stilte op de stream. (Nu is dat ook zo, maar is het tenminste zichtbaar dat hij aan het laden is)
- Browser crasht, server streamt verder
- Seeking latency

Het kan vast wel, maar het zorgt wel voor een enorme overhead. Tevens weet ik niet of er een limiet zit aan de tijd dat een mobiel browser blijft streamen, dat ga ik zo even testen.

🠕 This side up


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

merauder schreef op woensdag 24 augustus 2016 @ 19:03:
De oplossing zit serverside. Wat als je aan de serverkant een constante stream opzet waar je de audiofiles in zet. Dus als je liedje - X instart, wordt deze in werkelijkheid aan een stream toegevoegd. De stream bestuur je vervolgens doormiddel van een aantal listeners op een API.
Dat lijkt me nergens voor nodig, Spotify doet dat ook niet. Maar linksom of rechtsom gaat dit hem niet worden met een HTML5-only app.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 04-07 16:30
Je zal een platform integratie moeten maken, en niet vanuit een browser werken, dat is de enige 'echte' oplossing op het moment.

Acties:
  • 0 Henk 'm!

  • Koenvh
  • Registratie: December 2011
  • Laatst online: 00:28

Koenvh

Hier tekenen: ______

Topicstarter
NMe schreef op woensdag 24 augustus 2016 @ 19:20:
[...]

Dat lijkt me nergens voor nodig, Spotify doet dat ook niet. Maar linksom of rechtsom gaat dit hem niet worden met een HTML5-only app.
Daar was ik al bang voor. Toch jammer dat dat nog niet kan... Hopelijk is dat een toekomstige toevoeging aan Web App Manifest. Overigens verwijst play.spotify.com op mobiel gewoon door naar de hoofdwebsite ;)

Ik zal eens kijken of ik een Android wrapper app kan maken. Ideaal is 't niet. :/

🠕 This side up


Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23-09 14:00
Ik weet niet in hoeverre je dit al geprobeerd hebt, maar het zou moeten werken wanneer je een m3u playlist afspeelt. Je moet hooguit een beetje vals spelen door te doen alsof de nummers losse segmenten zijn van hetzelfde nummer.

Acties:
  • 0 Henk 'm!

  • Koenvh
  • Registratie: December 2011
  • Laatst online: 00:28

Koenvh

Hier tekenen: ______

Topicstarter
ThomasG schreef op woensdag 24 augustus 2016 @ 22:44:
Ik weet niet in hoeverre je dit al geprobeerd hebt, maar het zou moeten werken wanneer je een m3u playlist afspeelt. Je moet hooguit een beetje vals spelen door te doen alsof de nummers losse segmenten zijn van hetzelfde nummer.
Ook dat werkt niet, ookal is het één stream, op gegeven moment wordt de playback gestopt. (Zojuist getest met een m3u van Sky Radio. Ik kan me niet herinneren dat ik hem zelf heb uitgezet, dus hij is automatisch gestopt)

🠕 This side up


Acties:
  • 0 Henk 'm!

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 20:40
Het is niet voor niets dat apps ook niet in de achtergrond door blijven draaien!

Als een gebruiker naar een andere app switched blijft de vorige app nog even draaien totdat het geheugen vol dreigt te raken. Alle taken die een app doet die op de achtergrond door moeten blijven gaan worden geregistreerd bij het besturingssysteem als een Task zodat het besturingssysteem controle heeft over de task. Zo kan bijvoorbeeld het besturingssysteem zeggen "nee de batterij is te laag, deze task draai ik slechts ééns in de 15 minuten ipv elke minuut".

Het packagen van je website als app is daarom ook niet genoeg, je zal een task moeten registreren die de muziek afspeelt.

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


Acties:
  • 0 Henk 'm!

  • Koenvh
  • Registratie: December 2011
  • Laatst online: 00:28

Koenvh

Hier tekenen: ______

Topicstarter
Ramon schreef op woensdag 24 augustus 2016 @ 22:55:
Het is niet voor niets dat apps ook niet in de achtergrond door blijven draaien!

Als een gebruiker naar een andere app switched blijft de vorige app nog even draaien totdat het geheugen vol dreigt te raken. Alle taken die een app doet die op de achtergrond door moeten blijven gaan worden geregistreerd bij het besturingssysteem als een Task zodat het besturingssysteem controle heeft over de task. Zo kan bijvoorbeeld het besturingssysteem zeggen "nee de batterij is te laag, deze task draai ik slechts ééns in de 15 minuten ipv elke minuut".

Het packagen van je website als app is daarom ook niet genoeg, je zal een task moeten registreren die de muziek afspeelt.
Ja, maar het is ook niet voor niets dat sommige dingen juist WEL op de achtergrond moeten blijven draaien :)

Ik snap het idee van geheugenbesparing en de accutijd verlengen echt wel, maar ik zal toch niet de enige zijn die een interactieve website heeft waar sommige dingen op de achtergrond moeten worden bijgewerkt? Want een website kan moeilijk een task registreren. En een hele app bouwen was niet het idee, ik heb niet veel zin om alles wat ik tot nu toe heb gedaan nog een keer te moeten uitvinden voor Android en iOS.

Het kan aan mij liggen, maar ik vind het vreemd dat, juist nu het web zo gepusht wordt (zeker door Google), het niet mogelijk is om iets simpels als audio op de achtergrond te laten spelen.

[ Voor 8% gewijzigd door Koenvh op 25-08-2016 00:25 ]

🠕 This side up


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Koenvh schreef op woensdag 24 augustus 2016 @ 23:13:
[...]

Ja, maar het is ook niet voor niets dat sommige dingen juist WEL op de achtergrond moeten blijven draaien :)
Klopt, maar een website is er daar niet één van. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Koenvh
  • Registratie: December 2011
  • Laatst online: 00:28

Koenvh

Hier tekenen: ______

Topicstarter
Oké, de conclusie dat het niet de bedoeling is dat web apps door blijven draaien op de achtergrond had ik eigenlijk al getrokken vóór het openen van dit topic. Maar zoals wel vaker in computerland, als iets niet de bedoeling is betekent dat niet direct dat het niet kan.

Mocht iemand toch nog een workaround hebben, dan hoor ik het uiteraard graag.

🠕 This side up

Pagina: 1