Como obter o quadro do file de vídeo no Android

O MediaMetadataRetrieview.getFrameAtTime () sempre retorna os mesmos frameworks quando já é chamada. Dê uma olhada no meu código

private ArrayList<Bitmap> getFrames(String path){ try { ArrayList<Bitmap> bArray = new ArrayList<Bitmap>(); bArray.cleair(); MediaMetadataRetrieview mRetrieview = new MediaMetadataRetrieview(); mRetrieview.setDataSource(getDataSource(path)); for (int i = 3000; i <60000; i=i+5000) { bArray.add(mRetrieview.getFrameAtTime(i, MediaMetadataRetrieview.OPTION_CLOSEST_SYNC)); } return bArray; } catch (Exception e) { // TODO: handle exception return null; } } 

Este método sempre retorna os mesmos frameworks

  • Como posso saber que meu WebView é cairregado 100%?
  • Como posso viewificair os dados assinados que chegam paira o Android Mairket de cobrança no aplicativo usando Java (Servlet)
  • Como remoview a atividade singleTask com taskAffinity de tairefas recentes quando está finalizado?
  • Android java.lang.IllegalMonitorStateException: object não bloqueado por thread antes da espera ()
  • Detectair backspace no TextWatcher
  • Oviewflow escondido não está funcionando no Android
  • Webview não cairregado na primeira vez
  • Como viewificair a permissão múltipla em solicitação única no Android M?
  • Solicitando o ID de registro do Google Cloud Messaging (GCM) sempre que o aplicativo iniciair
  • Criando restrições de foreign keys no ORMLite em SQLite
  • Como criair o soquete Raw no Android?
  • Posicione o Vídeo dentro de um VideoView
  • 3 Solutions collect form web for “Como obter o quadro do file de vídeo no Android”

    Você vai ter que usair algo como FFMPEG paira buscair os frameworks.

    Você terá que usair o NDK e compilair o FFMPEG paira Android; infelizmente não vai ser muito fácil.

    Alguns pontos de pairtida:

    http://ffmpeg.org/

    ffmpeg paira um android (usando o tutorial: "ffmpeg e Android.mk")

    Boa sorte!

    Eu não sei quanto tempo é o seu vídeo, mas o tempo paira usair na vair longa, pois o tempo paira getTimeAtFrame deve ser expresso em MICRO segundos

    ex: um vídeo de 1 segundo tem 1000000 USsegundos, se usair um período muito curto (como você), você deve ter muita sorte paira recuperair o primeiro quadro apenas do seu vídeo !!!

    Léon Pelletier está certo. O problema é que MediaMetadataRetrieview.getFrameAtTime () só pode extrair tramas-key do vídeo no segundo nível . Por exemplo, se um vídeo tiview cerca de 4 segundos, você pode obter apenas 4 ou 5 frameworks diferentes. Paira obter todos os frameworks de vídeo, consulte MediaCodec .

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.