L'écran d'Enregistrement Vidéo de l'Activité Actuelle d'Android
Est-il possible d'enregistrer une vidéo de l'écran de fonctionnement actuel de l'activité à partir d'une même activité ?
Je sais comment prendre une capture d'écran de l'activité en cours, mais n'ont pas la moindre idée sur la prise d'écran l'enregistrement de la vidéo.
Comment pourrais-je commencer ? Je ne sais pas comment le lancer.
- Je pense que nous devons utiliser des outils pour l'enregistrement..
- Bien à mes exigences ne sont pas les mêmes que ces play.google.com/store/apps/... mais comment ils le font sans l'utilisation d'outils externes ?
- oui, il est possible de capture d'écran, puis ajouter à la vidéo
- Comment aurais-je le faire sans l'utilisation de tous les outils externes ? Pouvez-vous me donner quelques lignes directrices ?
- vous savez comment la capture d'écran suivante, vous ajoutez les images pour obtenir la vidéo
- l'ajout d'images dans la vidéo nécessite l'utilisation de NDK qui je veux éviter. Est-il des bibliothèques java disponibles pour le codage des images dans la vidéo ? Aussi, vous ne m'as pas parlé directement de l'enregistrement vidéo de l'écran .
- pouvez-vous expliquer ce que vous voulez atteindre plus exactement? il ya beaucoup de façons différentes d'enregistrer de la vidéo.
- Je veux dispositif de capture d'écran vidéo par programme je.e java dans mon projet android.
- Android 4.4 ajout d'un utilitaire de ligne de commande pour enregistrer l'écran. Voir developer.android.com/about/versions/...
- avez-vous le résoudre?
- J'ai fini à l'aide de github.com/jcodec/jcodec pour le codage de chaque capture d'écran. Et pour la sucette, j'ai utilisé la capture d'écran de l'api.
Vous devez vous connecter pour publier un commentaire.
MODIFIER: Cette réponse est remplacée par la réponse ci-dessous de Danpe.
Par programmation de l'enregistrement vidéo de l'intérieur de votre application nécessite un accès root. Vous remarquerez que les applications disponibles pour ce faire, dans le Magasin de Jeu en évidence de la liste "NÉCESSITE ROOT" dans leurs descriptions fournies par l'application. Vous remarquerez aussi qu'il y a peut-être aussi certaines exigences matérielles pour que cette approche fonctionne ("Ne fonctionne pas sur Galaxy Nexus ou Tegra 2/3..." -- à partir de la description de l' Screencast Video Recorder app.
Je n'ai jamais écrit ce code moi-même, mais j'ai mis en place une très haute idée de l'approche nécessaire. Il ressort de cette post que vous avez accès à la mémoire tampon de trame de données à partir de "/dev/graphiques/fb0". Le mode d'accès pour le frame buffer est de 660, ce qui signifie que vous avez besoin d'un accès root pour l'obtenir. Une fois que vous avez un accès root, vous pouvez utiliser le tampon de trame de données pour créer des captures d'écran (ce projet pourraient travailler pour cette tâche), puis de créer une vidéo à partir de ces captures d'écran (voir cet autre DONC, la question sur la façon de créer une vidéo à partir d'une séquence d'images).
J'ai utilisé l'application Screencast et il fonctionne bien sur un Samsung Note. Je soupçonne que c'est l'approche de base qu'ils ont pris.
Depuis Lollipop, nous pouvons utiliser les Médias de Projection de l'API ! API(21+)
Voici le code suivant que j'utilise pour l'enregistrement, la Note que nous avons d'abord besoin d'obtenir les autorisations utilisateur pour ça 😉
Ce n'est pas la version finale du code, mais une BONNE base pour commencer 🙂
Normal applications Android en l'absence d'autorisation de capture de la mémoire de trame (en particulier, ils ne sont pas membres de la AID_GRAPHICS groupe). C'est pour des raisons de sécurité - dans le cas contraire, ils pourraient snoop mots de passe, etc à partir du clavier virtuel. Donc, en général, vous NE pouvez pas capturer l'écran d'une application Android sans une certaine façon de se déplacer à la question du privilège.
Vous POUVEZ plus ou moins de réaliser une capture d'écran de la zone de l'écran actuellement pris par votre application en parcourant à la Vue de dessus de votre point de vue de la hiérarchie et le dessin dans une image Bitmap à l'aide de la Vue.tirage au sort(de la Toile), mais cela n'aura pas d'enregistrement de la barre d'état, clavier souple, OpenGL surfaces etc.
Si vous voulez faire mieux que cela, vous aurez besoin d'utiliser un outil externe. Les outils ont besoin de racine ou de l'utilisation de l'ADB interface, depuis le processus a commencé par l'ADB interface ont la AID_GRAPHICS privilège. À l'aide de la méthode de ce dernier un non-privilégiés application peut se connecter à un privilégié serveur pour faire l'enregistrement.
À peu près outils peuvent être divisées dans les catégories suivantes:
Racine seule framebuffer enregistreur applications (par exemple, Screencast). Ces enregistrer directement à partir de /dev/graphiques/fb0 appareil, mais ne fonctionne que sur les appareils où le framebuffer est lisible (e.g, pas sur le Tegra 2 Nexus 7).
Racine seule capture d'écran de l'enregistreur applications (par exemple, SCR, Rec, etc). Capturer l'écran via SurfaceFlinger et de travailler sur un éventail beaucoup plus large de dispositifs.
Non racine de capture d'écran de l'enregistreur applications (par exemple, Inscriptible, Ascrecorder). Ces demandera à l'utilisateur d'activer le débogage USB et démarrer un démon lorsqu'il est connecté via un PC hôte. Par la suite, le PC hôte n'est pas nécessaire jusqu'à ce que l'appareil est redémarré. Peut enregistrer de l'audio ainsi.
BAD outils (par exemple, le haut-screenrecorder sur Android 4.4). Vous obliger à être connectée via un port USB et ne peut pas capturer de l'audio.
Il y A quelques mois j'ai fait une comparaison de la disponibilité d'applications qui est disponible ici:
http://recordable.mobi/compare
Pour être complet il y a aussi des USB des outils (p. ex., Mobizen) que les flux de l'écran sur une clé USB (limitée par la faible USB bandwdith et ne pouvez pas enregistrer de l'audio) et certains appareils peuvent également transmettre l'écran sur le wifi, qui peut ensuite capturés sur un appareil séparé.
C'est un très vieux post, mais j'espère que cela va aider quelqu'un qui est toujours à la recherche d'un moyen d'enregistrer l'écran d'un appareil android:
Depuis Android 5.0 il y a une nouvelle API qui peut être utilisé pour l'enregistrement d'écran:
MediaProjection
Le MediaProjection donne la possibilité de capturer le contenu de l'écran, mais pas de système audio. Aussi il ne sera pas capturer de sécuriser le contenu de l'écran.
Sur la page de Matt Snider il y en est un bon exemple sur la façon d'utiliser l'API pour enregistrer l'écran dans un fichier sur la carte sd: LIEN
vous pouvez capturer l'écran via l'aide de DDMS de la bad s'exécute et a l'autorisation de le framebuffer:
suivez ce lien pour plus de détails :
http://thetechjournal.com/electronics/android/how-to-capture-screenshots-and-record-video-on-android-device.xhtml
AUSSI
vérifier ce lien peut-être obtenir quelques idées sur ce que vous avez besoin de :
http://answers.oreilly.com/topic/951-how-to-capture-video-of-the-screen-on-android/
http://www.mightypocket.com/2010/09/installing-android-screenshots-screen-capture-screen-cast-for-windows/
et vérifier ce projet :
http://sourceforge.net/projects/ashot/
espérons que cette aide .
J'ai créé un bibliothèque qui gère cela pour vous. Y compris l'affichage d'une notification qui est personnalisable et peut être désactivé si vous ne voulez pas afficher une notification.
Il exige API 21>
Ici est une simple démonstration sur la façon de l'utiliser: (plus d'infos peuvent être trouvées dans la bibliothèque du readme):
D'abord, déclarer et init dans votre
Activity
:Puis, quand vous voulez commencer l'enregistrement, vous pouvez appeler le:
Vous pouvez arrêter l'enregistrement en appelant le:
La
onCompleteListener
vous permet de savoir quand le fichier a été créé:J'ai aussi ajouté un tas de paramètres qui peuvent être définis, comme le changement de
AudioBitrate
,AudioSamplingRate
etc.Vous pouvez vous enregistrer l'écran de cette façon: http://www.youtube.com/watch?v=4K2UDfP4lN8&liste=UU4fDGas-Vz1xruuUY4QbF0w&feature=c4-overview.
La vidéo est intitulée "Comment Capturer/Enregistrement d'Écran Android Sans Root( Mobizen)".
La vidéo de référence l'utilisation de Mobizen: https://play.google.com/store/apps/details?id=com.rsupport.mvagent