2012-05-16 3 views
1

Je souhaite afficher des miniatures pour une liste de fichiers vidéo stockés sur un stockage externe dans mon application PhoneGap/Cordova. Voici ce que j'ai jusqu'à présent:Vignettes vidéo dans PhoneGap?

  • PhoneGap ne possède pas d'API pour cela (May '12, PhoneGap 1.6.1). Correct?
  • je peux obtenir une vignette vidéo à partir du chemin de fichier local sur Android 2.2+ (que je suis déjà le ciblage) avec ThumbnailUtils.createVideoTHumbnail()
  • Je peux enregistrer temporairement que la vignette pour le stockage interne (de préférence dans mon esprit) avec une combinaison de Bitmap.compress() et Context.openFileOutput()

Assez simple, mais alors comment puis-je accéder à ce fichier avec PhoneGap? Je n'arrive pas à trouver où, dans les documents de l'API, il explique comment accéder au système de stockage interne pour les données de votre application. De plus, y a-t-il une meilleure façon de le faire entièrement en mémoire sans écrire dans le système de fichiers? Cela ne me dérangerait pas de jeter la vignette après que j'en ai fini avec ça. Je ne m'attends pas à ce qu'ils soient souvent consultés.

Toute aide serait appréciée. Merci!

Mise à jour:

Apparemment Android génère des fichiers miniatures pour la galerie déjà, mais les noms de fichiers sont simplement ID. Je continue à voir des références à une "base de données de vignettes" qui lie ces identifiants au fichier respectif, mais je ne peux pas trouver d'informations sur la façon d'y accéder. Quelqu'un peut-il m'aider s'il vous plaît avec un exemple ou de la documentation?

Répondre

2

Si quelqu'un est à la recherche d'une réponse à une question similaire, ce que je faisais à la fin était le suivant:

function pickFile(callback) { 
    var options = { 
     quality: 100, 
     destinationType: navigator.camera.DestinationType.FILE_URI, 
     sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY, 
     mediaType: navigator.camera.MediaType.VIDEO 
    } 
    function fail(error) { 
     alert(error); 
    } 
    navigator.camera.getPicture(callback, fail, options); 
} 

Ceci est une option qui a été apparemment ajouté dans PhoneGap 1.1.0, qui vous permet de demander un fichier à partir de la galerie de l'utilisateur d'une manière indépendante de la plate-forme. Ce n'est pas très intuitif à trouver dans la documentation, et vous ne pouvez rien dicter sur l'interface utilisateur, mais c'est mieux que rien! J'espère que cela aidera quelqu'un venant de Google.

À la votre!

+0

Comment cette réponse résoudre la question que vous aviez? Parce que j'ai le même problème. L'extrait de code ci-dessus vous donne le chemin du fichier vidéo et non la vignette du fichier vidéo. – Sagar

+0

C'était il y a longtemps, mais je pense que je voulais permettre à l'utilisateur de choisir un fichier vidéo à partir d'une liste de vignettes. La galerie par défaut a fait exactement cela, donc cela a résolu ma question, mais le titre que j'ai donné à l'époque est probablement un peu trompeur. Désolé pour ça! –

Questions connexes