Classes d'éditeur vidéo Android


J'essaie de créer une application de montage vidéo Android. J'ai remarqué dans les sources du SDK qu'il y a un certain nombre de classes dans le package 'android.Média.videoeditor ' qui semblent faire ce dont j'ai besoin; cependant, lorsque j'essaie de les importer dans mon projet Java, je ne peux pas car selon Eclipse, ils n'existent pas! J'ai vérifié le contenu de 'android.pot' et bien sûr, les classes sont manquants.

Une des classes de ce paquet - MediaArtistNativeHelper.java-utilise JNI pour appeler quelles que soient les méthodes natives dont il a besoin, qui sont implémentées en C++ d'après ce que je peux dire (cela signifie-t-il que je dois les construire séparément?)

Ma question est, comment puis-je utiliser ces classes dans mon projet?

Je développe l'application en utilisant Eclipse sur un Mac.

Author: Simon, 2013-01-07

2 answers

Le Android.Média.videoeditor package est un package interne/caché , car le Javadoc au-dessus de ses classes/interfaces contient l'annotation {@hide} ou @hide.

Vous n'êtes pas autorisé à l'utiliser à partir de votre application et comme vous l'avez vu l'API n'est pas présent dans android.jar qui contient les API publiques disponibles. Pour INFO, le javadoc du paquet peut être vuici .

Pour ajouter des fonctionnalités multimédia à votre application, utilisez le android.paquet de médias à la place, qui:

Fournit des classes qui gèrent diverses interfaces multimédias dans audio et vidéo.

Les API Media sont utilisées pour lire et, dans certains cas, enregistrer des médias fichier. Cela inclut l'audio (par exemple, lire des fichiers MP3 ou d'autres fichiers musicaux, sonneries, effets sonores de jeu ou tonalités DTMF) et vidéo (par exemple, jouer un vidéo diffusée sur le Web ou à partir du stockage local).

D'autres classes spéciales du package offrent la possibilité de détecter le visages de personnes dans les bitmaps (FaceDetector), contrôle le routage audio (to l'appareil ou un casque) et contrôler les alertes telles que les sonneries et vibrations du téléphone (AudioManager).

Le contenu de l'android.jar montrant ce que l'androïde.le paquet de médias contient:

(Prises de adt-bundle-linux/sdk/plates-formes/android-17/android.jar)

entrez la description de l'image ici

 7
Author: bitek, 2013-03-07 10:03:38

Les paquets internes et cachés ne sont pas accessibles au moment de la compilation car le sdk Android ne les a pas.

Il n'y a pas de travail facile pour cela. Cependant, vous pouvez essayer ce tutoriel http://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-2-hacking-around/

Ce tutoriel explique comment extraire l'android "complet".jar à partir d'un périphérique afin que vous puissiez obtenir les paquets cachés pendant la compilation. Une fois que vous avez les paquets "cachés" au moment de la compilation, vous pouvez créer votre application avec ceux-ci. Cela peut sembler une solution miracle, mais elle présente des inconvénients majeurs. Une fois que vous utilisez des API non standard, tous les paris sont désactivés. Si les paquets "cachés" devaient être modifiés/modifiés dans les futures mises à niveau du système d'exploitation, cela casserait votre produit. Dans l'environnement de production, cette approche est un facteur décisif, mais pour les applications développées pour un usage personnel/académique, cela pourrait être votre truc.

Remarque: Je n'ai pas personnellement essayé cela, mais je l'ai trouvé parfois face à un problème similaire à le vôtre (ma réponse était dans un autre paquet caché).

 0
Author: Srikant Sahay, 2013-03-07 12:01:13