Criei um aplicativo de gravação de vídeo com diálogo de biblioteca. A caixa de diálogo da biblioteca exibe a lista de vídeos gravados, onde cada item consiste em ícone, título do vídeo, tags e informações de localização da seguinte maneira:
Alguém sabe se é possível substituir ícones por miniaturas de vídeo (visualização de quadro único)?
Obrigado!
Respostas:
Se você estiver usando API 2.0 ou mais recente, isso funcionará.
fonte
id
?se você não pode ou não pode passar pelo cursor e se você tem apenas caminhos ou objetos File, você pode usar desde API nível 8 (2.2) public static Bitmap createVideoThumbnail (String filePath, int kind)
Documentação Android
O código a seguir funciona perfeitamente:
fonte
t have my video ID. For better quality use
MediaStore.Video.Thumbnails.FULL_SCREEN_KIND`Usando a classe:
Podemos obter dois tamanhos de miniatura de visualização do vídeo:
Thumbnails.MICRO_KIND
para 96 x 96Thumbnails.MINI_KIND
para 512 x 384 pxEste é um exemplo de código:
fonte
Atualmente eu uso o seguinte código:
Mas eu encontrei uma solução melhor com a biblioteca Glide com o seguinte código (ela também armazena sua imagem em cache e tem melhor desempenho do que a abordagem anterior)
fonte
Eu realmente sugiro que você use a biblioteca Glide . É uma das maneiras mais eficientes de gerar e exibir uma miniatura de vídeo para um arquivo de vídeo local.
Basta adicionar esta linha ao seu arquivo Gradle:
E se tornará tão simples quanto:
Você pode encontrar mais informações aqui: https://futurestud.io/blog/glide-displaying-gifs-and-videos
Felicidades !
fonte
Esta solução funcionará para qualquer versão do Android. Ele provou funcionar em 1.5 e 2.2. Esta não é outra solução "Isto é para Android 2.0+". Eu encontrei isso através de uma página de coleção de quadro de mensagens de e-mail e não consigo encontrar o link original. Todo o crédito vai para o autor do pôster original.
Em seu aplicativo, você usaria isso chamando:
Em algum lugar em sua própria função (fora do OnCreate, ect), você precisaria:
Em sua pasta src, você precisa de um novo subdiretório android / media que abrigará a classe (copiada da própria fonte do Android) que permite usar essa função. Esta parte não deve ser alterada, renomeada ou colocada em qualquer outro lugar. MediaMetadataRetriever.java precisa estar em android.media em sua pasta de origem para que tudo funcione.
fonte
MediaMetadataRetriever
é compatível com API de nível 10Tente isso está funcionando para mim
fonte
O Android 1.5 e 1.6 não oferece miniaturas, mas o 2.0 oferece, conforme visto nas notas de lançamento oficiais :
fonte
Estou respondendo a esta pergunta tarde, mas espero que ajude o outro candidato que está enfrentando o mesmo problema.
Eu usei dois métodos para carregar miniaturas para lista de vídeos, o primeiro foi
parece bom, mas houve um problema com esta solução porque quando eu rolar a lista de vídeos, ele irá congelar algum tempo devido ao seu grande processamento.
Então, depois disso, encontrei outra solução que funciona perfeitamente usando a Biblioteca Glide.
Eu recomendei a solução posterior para mostrar miniaturas com lista de vídeos. obrigado
fonte
Este é o código para miniatura de vídeo ao vivo.
fonte
Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(mMediaPath, MediaStore.Video.Thumbnails.MICRO_KIND);
Observe que todos os parâmetros estão definidos