Como incorporar áudio / vídeo na página HTML que joga no navegador do iPhone através de GPRS
Pergunta
Embora eu não tenho um iPhone para testar isso, o meu colega me disse que incorporado arquivos de mídia, como a do trecho abaixo, só funciona quando o iPhone está conectado sobre o conexão WLAN ou 3G, e não funciona ao conectar via GPRS.
<html><body>
<object data="http://joliclic.free.fr/html/object-tag/en/data/test.mp3" type="audio/mpeg">
<p>alternate text</p>
</object>
</body></html>
Existe um exemplo URL com um arquivo de mídia, que vai jogar em um navegador iPhone quando os Ligações iPhone usando GPRS (não 3G)?
Solução
O aplicativo para iPhone YouTube transfere automaticamente vídeo de qualidade inferior quando conectado via EDGE do que quando conectado via Wi-Fi, porque a rede é muito mais lento. Esse fato me leva a crer que a Apple iria tomar a decisão de design para não incomodar o download de um MP3 sobre EDGE. O navegador tem nenhuma maneira de saber com antecedência se a taxa de bits é baixo o suficiente, e as chances são, não será. Então ao invés de frustrar os usuários com um arquivo de som que leva muito tempo para jogar (e impede thems de receber uma chamada durante o download), é melhor poupá-los do sofrimento e incentivá-los a encontrar um hotspot Wi-Fi.
Outras dicas
Tente algo como isso, ele funciona em uma página web. Esta é realmente uma 320kps mp3 mas é apenas 30 segundos de duração. Você pode usar um programa chamado LAME para converter mp3 a um taxa de bits você que irá trabalhar para você.
<div class="music">
<p>Pachelbel's Canon</p>
<!--[if !IE]>-->
<object id="Cannon" type="audio/mpeg" data="http://calgarydj.ca/sound%20files/Pachebels%20Cannon.mp3" width="250" height="16">
<param name="autoplay" value="false" />
<param name="src" value="http://calgarydj.ca/sound%20files/Pachebels%20Cannon.mp3" />
<!--<![endif]-->
<object id="Cannon" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="250" height="60">
<param name="autostart" value="false" />
<param name="url" value="http://calgarydj.ca/sound%20files/Pachebels%20Cannon.mp3" />
<param name="showcontrols" value="true" />
<param name="volume" value="100" />
<!--[if !IE]>--></object><!--<![endif]-->
</object>
</div><!-- end of control -->
Eu não estava ciente dessa limitação. Embora faz sentido para desativar potencialmente dados-pesado OBJECT ou tags implantar quando no serviço de dados de celular para o qual o seu fornecedor pode cobrar pelo byte, se fosse esse o motivo, não faria sentido que seria ainda trabalho em 3G e só não sobre GPRS.
Talvez o problema é um dos transferência de dados básica? Não ter um iPhone a si mesmo (ou eu) torna difícil para testar a afirmação de seu colega.
Lembre-se que GPRS é muito mais lento do que o Wi-Fi ou 3G. Segundo a Wikipedia, GPRS irá fornecer entre 56 e 114 kbps da taxa de transferência total duplex, alguns dos quais não é na direcção de transferência. Você já pode ver isso não é rápido o suficiente para transmitir instantaneamente um típico 128 kbps mp3, mesmo se você estava recebendo o melhor rendimento e ficando tudo como a velocidade de download.
Olhando para este fórum de discussão como um exemplo que veio no Google, os clientes GPRS (aqueles que não utilizam Telestra, que é um fornecedor de EDGE em que área) estão recebendo cerca de 40 kbps. Assim se como a questão implica, você está preso em EDGEland, NÃO 3Gland ou inbetween nada, ele vai levar cerca de 20 segundos de buffer a jogar a 30 segundo mp3. E quando você usar um tag comportamento ambíguo como OBJECT ou EMBED, não há nenhuma garantia em como o navegador irá interpretá-lo e se ele vai tentar transmitir de forma inteligente o arquivo em vez de ter que baixar a coisa toda antes de iniciá-lo.
Então, é perfeitamente possível o seu colega simplesmente não esperar o tempo suficiente para ver se qualquer mídia incorporado ele escolheu como um teste começou a jogar (assumindo que ele não estava usando o seu mp3 teste 17KB lá). Também é possível que o iPhone realmente tem esta limitação, embora eu acho que o Google seria mais próxima com ele do que a minha busca rápida descoberto, uma vez que as pessoas têm sido bastante vocal com outras coisas que eles não gostam sobre o iPhone. Outra possibilidade seria a de que é uma limitação na largura do Safari que atualmente vem com o iPhone, que pode ser alterado em futuras versões ou em outro navegador.
Em última análise, porém, a questão é, que tipo de experiência do usuário que você realmente quer? áudio embutido em GPRS vai levar um longo tempo para carregar, e os usuários não estão indo para desfrutar da experiência, ou potencialmente ainda experimentá-lo em todos, se é suposto começar a jogar na página visita e não carrega antes de navegar longe. Pode não ser um valor de meta se esforçando para, nesse caso.