De acordo com:
http://developer.android.com/sdk/android-2.0-highlights.html
O Android 2.0 deve suportar o elemento de vídeo HTML5. Não consegui fazer isso funcionar usando um Motorola Droid e não consegui visualizar um vídeo com êxito em nenhuma das páginas de exemplo de vídeo HTML5 que existem. Uma vez que atualmente não há suporte para QuickTime ou Flash, esta é a única outra coisa que posso pensar para incorporar vídeo mp4 em uma página da web. Alguém já teve sorte com isso?
Respostas:
Acabei de fazer algumas experiências com isso e, pelo que posso dizer, você precisa de três coisas:
Dê uma olhada na demonstração nesta página: http://broken-links.com/tests/video/
Isso funciona, AFAIK, em todos os navegadores de desktop habilitados para vídeo, iPhone e Android.
Aqui está a marcação:
E eu tenho isso no JS:
Eu testei isso em um Samsung Galaxy S e funciona bem.
fonte
A resposta de Roman funcionou bem para mim - ou pelo menos me deu o que eu esperava. Abrir o vídeo no aplicativo nativo do telefone é exatamente igual ao que o iPhone faz.
Provavelmente, vale a pena ajustar seu ponto de vista e esperar que o vídeo seja reproduzido em tela inteira em seu próprio aplicativo, e codificar para isso. É frustrante que clicar no vídeo não seja suficiente para reproduzi-lo da mesma forma que o iPhone faz, mas visto que é necessário apenas um atributo onclick para iniciá-lo, não é o fim do mundo.
Meu conselho, FWIW, é usar uma imagem de pôster e deixar claro que o vídeo será reproduzido. Estou trabalhando em um projeto no momento que faz exatamente isso, e os clientes estão felizes com isso - e também que eles estão obtendo a versão Android de um aplicativo da web gratuitamente, é claro, porque o contrato era apenas para um aplicativo da web para iPhone.
Apenas para ilustração, uma tag de vídeo Android funcional está abaixo. Bom e simples.
fonte
controls
atributo, o evento onclick é ignorado quando você pressiona pause (então o vídeo realmente é pausado), mas de alguma forma quando você clica em reproduzir nada acontece - você tem que clicar no vídeo (não no botão de reprodução real) para que o vídeo seja retomado.Incluo aqui como um amigo meu resolveu o problema de exibição de vídeos em HTML no Nexus One:
Nunca fui capaz de fazer o vídeo rodar embutido. Na verdade, muitas pessoas na internet mencionam explicitamente que a reprodução de vídeo inline em HTML é suportada desde o Honeycomb, e estávamos lutando com Froyo e Gingerbread ... Também para telefones menores, acho que jogar em tela cheia é muito natural - caso contrário, não é muito visível . Então o objetivo era fazer o vídeo abrir em tela cheia. No entanto, as soluções propostas neste tópico não funcionaram para nós - clicar no elemento não acionou nada. Além disso, os controles de vídeo foram mostrados, mas nenhum pôster foi exibido, então a experiência do usuário foi ainda mais estranha. Então o que ele fez foi o seguinte:
Exponha o código nativo ao HTML para ser chamado via javascript:
O próprio código tinha uma função que chamava atividade nativa para reproduzir o vídeo:
Então, no próprio HTML, ele continuava falhando em fazer a tag de vídeo funcionar na reprodução do vídeo. Assim, finalmente ele decidiu sobrescrever o
onclick
evento do vídeo, fazendo com que ele fizesse a reprodução real. Isso quase funcionou para ele - exceto que nenhum pôster foi exibido. Aí vem a parte mais estranha - ele continuava recebendoERROR/AndroidRuntime(7391): java.lang.RuntimeException: Null or empty value for header "Host"
toda vez que configurava oposter
atributo da tag. Finalmente, ele encontrou o problema, que era muito estranho - descobriu-se que ele havia mantido asource
subtag navideo
tag, mas nunca a usou. E estranho o suficiente exatamente isso estava causando o problema. Agora veja sua definição davideo
seção:Claro, você também precisa adicionar a definição da função javascript no cabeçalho da página:
Sei que esta não é uma solução puramente HTML, mas é o melhor que conseguimos fazer para o tipo de telefone Nexus One. Todos os créditos por esta solução vão para Dimitar Zlatkov Dimitrov.
fonte
Se você ligar manualmente
video.play()
, deve funcionar:fonte
apontar meu navegador android 2.2 para html5test.com , me diz que o elemento de vídeo é compatível, mas nenhum dos codecs de vídeo listados ... parece um pouco inútil para oferecer suporte ao elemento de vídeo, mas nenhum codec? a menos que haja algo errado com essa página de teste.
no entanto, encontrei o mesmo tipo de situação com o elemento de áudio: o elemento é compatível, mas não há formatos de áudio. Veja aqui:
http://textopiablog.wordpress.com/2010/06/25/browser-support-for-html5-audio/
fonte
Nada funcionou para mim até que codifiquei o vídeo corretamente. Experimente este guia para obter as configurações corretas do freio de mão: http://forum.handbrake.fr/viewtopic.php?f=7&t=9694
fonte
Talvez você precise codificar o vídeo especificamente para o dispositivo, por exemplo:
Existem alguns exemplos de configurações de codificação que funcionaram aqui:
https://supportforums.motorola.com
fonte
Experimente h.264 em um contêiner mp4. Tive muito sucesso com ele no meu Droid X. Tenho usado zencoder.com para conversões de formato.
fonte
Isso funciona para mim:
Somente quando o .mp4 está no topo e o arquivo de vídeo não é muito grande.
fonte
Deve funcionar, mas observe a resolução: Android 2.0 e webkit
fonte
Isso pode não responder exatamente à sua pergunta, mas estamos usando o formato de arquivo 3GP ou 3GP2. Melhor até usar o protocolo rtsp, mas o navegador Android também reconhecerá o formato de arquivo 3GP.
Você pode usar algo como
para acionar o player de vídeo. O arquivo será transmitido e após o término da reprodução, o tratamento é retornado ao navegador.
Para mim, isso resolve muitos problemas com a implementação atual de tags de vídeo em dispositivos Android.
fonte
De acordo com: https://stackoverflow.com/a/24403519/365229
Eu testei no navegador Android 2.3.3 e 4.4.
fonte
Depois de muita pesquisa, em muitos dispositivos diferentes, até agora, cheguei à conclusão simples de que
MP4
é muito menos compatível do que oMOV
formato. Portanto, estou usando oMOV
formato, que é compatível com todos os dispositivos Android e Apple, em todos os navegadores. Detectei se o dispositivo é um dispositivo móvel ou um navegador de desktop e configurei o deSRC
acordo:fonte
Tentei usar o
.mp4
formato para reproduzir um vídeo em dispositivos Android, mas não deu certo. Portanto, após algumas tentativas e erros, converti o vídeo no.webm
formato e no seguinte código sem javascript ou JQuery extra:Funcionou em um dispositivo Android mais antigo (pelo menos alguns anos em 2020).
fonte
O HTML5 é compatível com os telefones Google (Android), como Galaxy S e iPhone. No entanto, o iPhone não oferece suporte a Flash, que os telefones do Google oferecem.
fonte