Autore Topic: come creare un'immagine di anteprima di un video?  (Letto 2222 volte)

Offline OmarLuigi

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Tab
  • Sistema operativo:
    Windows 7
come creare un'immagine di anteprima di un video?
« il: 22 Giugno 2011, 14:23:34 CEST »
0
Ciao a tutti,
Ho la necessità di creare una galleria di video... Avrei quindi bisogno di riuscire ad estrapolare un'immagine per video (possibilmente il primo frame) in modo da visualizzarle nella galleria come anteprime dei video di appartenenza.
Ho cercato un po' in rete, senza successo.
Ho provato allora con tecnica alternative:
- Un istante prima di iniziare il video, catturo lo schermo... L'immagine che ne viene fuori, salvata insieme al video, ne sarà l'anteprima. Fallito: la cattura è eseguita sul layout "sotto" l'immagine restituita dalla fotocamera... Non c'è modo di catturare tale immagine (almeno penso).
- Istanziare in una stessa classe sia una camera che un recorder, la camera si occupa di fare la foto un istante prima che il recorder inizi a registrare. La foto così salvata sarà l'anteprima del video.... Fallito: penso non si possano istanziare entrambi gli elementi nella stessa classe, vanno in conflitto.

Ora la domanda è... Come posso fare!? Qualcuno ne ha un'idea!? Ci sono due approcci logici ammissibili:
- Catturo in qualche modo un'immagine separata subito prima di girare il video. Questa sarà l'anteprima.
- Estrapolo da un video un immagine e la visualizzo come anteprima.

Fra le due preferirei la seconda (mi evito di salvare anche l'immagine).
A voi la parola in merito!! =)

Grazie!
« Ultima modifica: 22 Giugno 2011, 14:25:17 CEST da OmarLuigi, Reason: progetto aziendale »

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:come creare un'immagine di anteprima di un video?
« Risposta #1 il: 22 Giugno 2011, 14:34:11 CEST »
+2
Questa classe credo che faccia al caso tuo.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:come creare un'immagine di anteprima di un video?
« Risposta #2 il: 22 Giugno 2011, 14:38:46 CEST »
+2
C'è anche la classe ThumbnailUtils | Android Developers che potrebbe fare al caso tuo:

Codice (Java): [Seleziona]
Bitmap bMap = ThumbnailUtils.createVideoThumbnail(file.getAbsolutePath(), MediaStore.Video.Thumbnails.MICRO_KIND);
EDIT: consiglio per cercare questi argomenti in rete

Su google mettere come prima keyword android, quindi almeno due keyword in inglese sull'argomento. Esempio in questo caso ho messo android video thumbnail ed il primo risultato era già molto promettente.
« Ultima modifica: 22 Giugno 2011, 14:41:13 CEST da bradipao »
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:come creare un'immagine di anteprima di un video?
« Risposta #3 il: 22 Giugno 2011, 14:44:13 CEST »
0
Occhio, che qualcuno con la 2.2 ha avuto problemi con la ThumbnailUtils.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline OmarLuigi

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Tab
  • Sistema operativo:
    Windows 7
Re:come creare un'immagine di anteprima di un video?
« Risposta #4 il: 22 Giugno 2011, 15:06:32 CEST »
0
grazie mille ad entrambi per la veloce risposta, e grazie per la dritta su come cercare le cose....
Ho risolto così dopo due giorni di sclero:

Codice (Java): [Seleziona]
File file= new File("path_video");
Bitmap foto = ThumbnailUtils.createVideoThumbnail(file.getAbsolutePath(), MediaStore.Video.Thumbnails.MICRO_KIND);


E magicamente in foto appare l'anteprima!
Per chi volesse poi ridimensionarla prima di aggiungerla, io ho fatto:

Codice (Java): [Seleziona]
int width = foto.getWidth(), height = foto.getHeight(), newWidth = 100, newHeight = Math.round(newWidth*(width/height)); //Ridimensiono l'immagine scaricata, larghezza di 100px
Bitmap fotoPiccola= Bitmap.createScaledBitmap(foto, newWidth, newHeight, false);

Alla prossima =)
« Ultima modifica: 22 Giugno 2011, 15:10:51 CEST da OmarLuigi »

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:come creare un'immagine di anteprima di un video?
« Risposta #5 il: 22 Giugno 2011, 15:26:57 CEST »
0
Grazie anche a te per il feedback sulla soluzione, per la personalizzazione che hai apportato e (perchè no) per il THANKS... l'utente perfetto!!!  :-)
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:come creare un'immagine di anteprima di un video?
« Risposta #6 il: 22 Giugno 2011, 15:53:09 CEST »
0
Grazie anche a te per il feedback sulla soluzione, per la personalizzazione che hai apportato e (perchè no) per il THANKS... l'utente perfetto!!!  :-)
8-)
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/