Estou tentando entender por que não consigo continuar ouvindo o áudio de um vídeo do YouTube no meu Galaxy S 2 enquanto passo para outro aplicativo, por exemplo, lendo um artigo da wikipedia no navegador.
existe alguma limitação arquitetônica que impeça isso no Gingerbread (com sorte será removido no ICS) ou é apenas a maneira como o Google fez o aplicativo do YouTube?
Edit : testei o aplicativo do YouTube no ICS 4.0.3 hoje e se comporta da mesma forma que no Gingerbread: ((((
4.0-ice-cream-sandwich
youtube
multitasking
Davide Piras
fonte
fonte
Respostas:
A renderização de vídeo, que teria que acontecer mesmo que o aplicativo não estivesse "ativo", mas ainda estivesse sendo reproduzido, vai usar muito mais bateria do que o "uso normal". Portanto, se você não estiver "assistindo" ao vídeo, ele será interrompido para não desperdiçar uma preciosa energia da bateria.
fonte
Não é uma limitação do Android, mas um "recurso" do aplicativo do Youtube para economizar recursos.
Se você deseja usar o YouTube como um reprodutor de música, acho que você deve encontrar um aplicativo que permita fazer exatamente isso no mercado.
O TubeMate permite ouvir apenas o áudio de um arquivo do Youtube (você precisa baixá-lo com antecedência), e isso deve funcionar em segundo plano.
fonte
Se você deseja um aplicativo para Android que permita o gerenciamento flexível dos protocolos de streaming do YouTube de uma maneira que ofereça suporte à seleção de apenas a parte de áudio do fluxo de mídia enquanto descarta a faixa de vídeo, fique de olho no VLC para Android . Ele ainda está "em desenvolvimento", mas provavelmente abordaria o recurso "apenas áudio".
De uma perspectiva mais técnica, ajuda a dividir o problema em protocolos de rede do YouTube disponíveis para streaming de mídia RTSP. As especificações RTSP permitem que um cliente faça uma solicitação usando o comando DESCRIBE ao qual o servidor responde com um segmento de dados SDP (veja detalhes abaixo). Os servidores do YouTube podem responder em uma variedade de protocolos, enviando fluxos subjacentes que, por sua vez, usam uma variedade de codificações - uma para áudio e outra para vídeo - para transferir os bits de mídia pela rede para o cliente. Nas redes móveis, um recurso que vai ao youtube para receber faixas de áudio e vídeo antes de descartar o vídeo enquanto reproduz apenas o áudio não é uma boa prática devido ao grande requisito de rede para o fluxo de vídeo não utilizado. Você pode contornar a ineficiência da rede com algumas pesquisas técnicas adicionais.
Os padrões RTSP e SDP observados pelo Youtube permitem que um cliente de streaming (dispositivo Android) solicite APENAS o áudio durante as etapas de handshake do cliente / servidor e as etapas de negociação em torno da configuração da conexão de rede que fará o streaming de mídia. Nesse caso, nenhum vídeo seria enviado e o player Android seria configurado em um fluxo apenas de áudio. A seguir, alguns detalhes de comando da CLI e alguns detalhes de protocolo neste cenário 'somente áudio do youtube'.
Uma faixa somente de áudio do formato 1 do youtube para um vídeo específico está disponível no seguinte URI RTSP:
No URI do RTSP para o vídeo inteiro (faixa de áudio mais faixa de vídeo), a seguinte expressão CLI utiliza 2 clientes de mídia openRTSP e mPlayer indo para o Youtube, onde GETS / PLAYS apenas a faixa de áudio do YouTube solicitando apenas o canal = 1 .
Essa expressão da CLI é descrita em mais detalhes em um link na parte inferior.
Os 'feeds' do YouTube descrevem os formatos de fluxo disponíveis para qualquer vídeo do YouTube, incluindo os URIs RTSP mencionados acima. Para uma explicação técnica dos formatos de streaming do YouTube , consulte a entrada 'formato' 1,5,6 na tabela longa.
A solicitação a seguir obtém um feed do YouTube que inclui os URIs de RTSP de vários formatos disponíveis para esse vídeo específico:
Os detalhes sangrentos de uma SESSÃO RTSP conectada na qual a descrição completa do SDP é solicitada para um determinado vídeo do youtube, para que apenas a trilha de áudio possa ser transmitida / reproduzida, estão aqui .
Chave para linhas numeradas no link acima:
fonte