Android è single task o multitasking e multithreading?


18

Sto cercando di capire perché non riesco a continuare ad ascoltare l'audio di un video di YouTube sul mio Galaxy S 2 mentre mi trasferisco a un'altra applicazione, ad esempio leggendo un articolo di Wikipedia sul browser.

c'è qualche limitazione architettonica che impedisce questo in Gingerbread (speriamo che venga rimosso in ICS) o è solo il modo in cui Google ha fatto l'applicazione YouTube?

Modifica : provato l'applicazione YouTube in ICS 4.0.3 oggi e si comporta come in Gingerbread: (((


8
Presumo che sia solo l'applicazione YouTube. Google Music (e quasi tutte le altre app musicali che ho provato) continuerà a essere riprodotto se le app vengono cambiate o anche se lo schermo è spento (YouTube si interrompe anche se lo schermo è spento).
Dylan Yaga,

Risposte:


17

Il rendering video, che dovrebbe avvenire anche se l'applicazione non è "attiva" ma continua a giocare, consumerà molta più batteria del "normale utilizzo". Quindi, se non stai "guardando" il video, si interrompe per non sprecare la preziosa carica della batteria.


sì, ma per usare YouTube come radio, potrebbe disabilitare il rendering video e riprodurre solo l'audio! :)
Davide Piras,

6
Potresti - ma non è così che è progettata l'app di Youtube;)
lxgr

19

Non è una limitazione di Android, ma una "caratteristica" dell'app di Youtube per conservare le risorse.

Se vuoi usare Youtube come lettore musicale, penso che dovresti essere in grado di trovare un'applicazione che ti permetta di fare esattamente questo sul mercato.

TubeMate ti consente di ascoltare solo l'audio di un file Youtube (devi comunque scaricarlo in anticipo) e dovrebbe funzionare in background.


3

Se desideri un'app Android che consenta una gestione flessibile dei protocolli di streaming di Youtube in un modo che supporti la selezione della sola porzione audio del flusso multimediale mentre scarti la traccia video, tieni d'occhio VLC per Android . È ancora "in via di sviluppo" ma probabilmente affronterebbe la funzione "solo audio".

Da una prospettiva più tecnica, aiuta a scomporre il problema nei protocolli di rete Youtube disponibili per lo streaming multimediale RTSP. Le specifiche RTSP consentono a un client di effettuare una richiesta utilizzando il comando DESCRIBE al quale il server risponde con un segmento di dati SDP (vedere i dettagli di seguito). I server di Youtube possono rispondere in una varietà di protocolli, inviando flussi sottostanti che a loro volta utilizzano una varietà di codifiche, una per l'audio e una per il video, per trasferire al client i bit multimediali attraverso la rete. Sulle reti mobili, una funzione che va su YouTube per ricevere tracce audio e video prima di scartare il video durante la riproduzione solo dell'audio non è una buona pratica a causa del pesante requisito di rete per il flusso video inutilizzato. È possibile aggirare l'inefficienza della rete con ulteriori approfondimenti tecnici.

Gli standard RTSP e SDP osservati da Youtube consentirebbero a un client di streaming (dispositivo Android) di richiedere SOLO l'audio durante le fasi di handshake Client / Server e le fasi di negoziazione intorno all'impostazione della connessione di rete che eseguirà lo streaming multimediale. In questo caso, non verrà inviato alcun video e il lettore Android verrà configurato su un flusso solo audio. Seguono alcuni dettagli del comando CLI e alcuni dettagli del protocollo in questo scenario "solo audio di YouTube".

Una traccia audio solo per YouTube, formato 1, per un particolare video è disponibile al seguente URI RTSP:

rtsp://v8.cache8.c.youtube.com/CigLENy73wIaHwlcw_gs85OUchMYDSANFEgGUgx1c2VyX3VwbG9hZHMM/0/0/0/video.3gp

Dal RTSP URI per l'intero video (audio di brani più traccia video), le seguenti marche di espressione CLI utilizzo di client 2 mezzi openRTSP e MPlayer andare su Youtube, dove poi si fa / suona proprio la traccia audio Youtube richiedendo solo canale = 1 .

./openRTSP -a rtsp://v8.cache8.c.youtube.com/CigLENy73wIaHwlcw_gs85OUchMYDSANFEgGUgx1c2VyX3VwbG9hZHMM/0/0/0/video.3gp | ./mplayer -cache 8092 - -rawaudio channels=1:rate=8000:samplesize=2:format=0x73616D72

Questa espressione della CLI è ulteriormente descritta in un collegamento in fondo.

I "feed" di Youtube descrivono i formati di streaming disponibili per qualsiasi video di Youtube, inclusi gli URI RTSP menzionati sopra. Per una spiegazione tecnica dei formati di streaming di Youtube , vedere la voce "formato" 1,5,6 nella tabella lunga.

La seguente richiesta riceve un feed da Youtube che include gli URI RTSP variamente formattati disponibili per quel particolare video:

http://gdata.youtube.com/feeds/api/users/rowntreerob/uploads?vq=cpST8yz4w1w&prettyprint='true'

I dettagli cruenti di una SESSIONE RTSP connessa in cui è richiesta la descrizione SDP completa per un particolare video di YouTube in modo che solo la traccia audio possa essere trasmessa / riprodotta sono qui .

Chiave per le linee numerate nel link sopra:

82 – the RTSP DESCRIBE request
101 – the SDP response
103 – video track’s format
116 – the attributes describing the audio track
line 165 – the audio track setup by the player
184 – the audio-only playback
201 – using a separate CLI expression this is playback of a previous download on just the audio track
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.