Comment enregistrer l'écran et des captures d'écran, à l'aide de l'API Android?

Fond

Android obtenu de nouvelles API sur Kitkat et Lollipop, pour capture vidéo de l'écran. Vous pouvez le faire soit par l'intermédiaire de la BAD outil, ou via le code (à partir de la Sucette).

Depuis la nouvelle API a été, beaucoup d'applications est venu pour que l'utilisation de cette fonctionnalité, permettant d'enregistrer l'écran, et Microsoft a même fait son propre Google-Maintenant-Sur-robinet concurrent de l'app.

À l'aide de la BAD, vous pouvez utiliser:

adb shell screenrecord /sdcard/video.mp4 

Vous pouvez même le faire à partir de l'intérieur de Android Studio lui-même.

Le problème

Je ne trouve pas de tutoriel ou une explication sur la façon de le faire à l'aide de l'API de sens dans le code.

Ce que j'ai trouvé

Le seul endroit que j'ai trouvé est la documentation (ici, en vertu de la "capture d'Écran et de partage"), en me disant ceci:

Android 5.0 vous permet d'ajouter de capture d'écran et le partage d'écran
les capacités de votre application avec le nouveau android.médias.projection de l'Api.
Cette fonctionnalité est utile, par exemple, si vous souhaitez activer
le partage d'écran dans une vidéo-conférence app.

La nouvelle createVirtualDisplay() méthode permet à votre application de capturer l'
le contenu de l'écran principal (affichage par défaut) dans une Surface de
l'objet de votre application peut ensuite les envoyer sur le réseau. L'API uniquement
permet de saisir non-sécurisé du contenu de l'écran, et pas de système audio. Pour
commencer la capture d'écran, votre application doit d'abord demander à l'utilisateur
l'autorisation par le lancement d'une capture d'écran de dialogue à l'aide d'une Intention
obtenu par le biais de la createScreenCaptureIntent() méthode.

Pour un exemple d'utilisation de la nouvelle Api, voir la MediaProjectionDemo
classe dans l'exemple de projet.

Chose est, je ne trouve pas de "MediaProjectionDemo" de l'échantillon. Au lieu de cela, j'ai trouvé "Capture d'Écran" de l'échantillon, mais je ne comprends pas comment il fonctionne, comme quand j'ai couru, tout ce que j'ai vu, c'est un clignotement de l'écran et je ne pense pas qu'il enregistre la vidéo dans un fichier. L'échantillon semble très bogué.

Les questions

Comment puis-je effectuer ces actions en utilisant la nouvelle API:

  1. commencer l'enregistrement, éventuellement, y compris l'audio (microphone/haut-parleur/les deux).
  2. arrêter l'enregistrement
  3. prendre une capture d'écran au lieu de la vidéo.

Aussi, comment puis-je le personnaliser (résolution, a demandé à ips, les couleurs, le temps...) ?

  • Je suis à la recherche d'une référence dans mon D:\Android\android-sdk\samples\android-23\legacy\ApiDemos\src\com\example\android\apis\media\projection dossier (où D:\Android est l'emplacement de mon SDK fichiers). Cela vous aide?
  • Comment importer de l'API démos dans Android-Studio ? n'étaient-ils pas censé être seulement pour Eclipse?
  • Non, les démos de travail pour n'importe quel environnement de développement. Ils sont mis en place initialement pour Eclipse. Quant à la façon de les importer, je n'ai aucune idée, mais ce n'est pas ce que vous avez demandé ici. Vous l'avez dit je ne trouve pas la démo, et je vous ai dit où le trouver. Avez-vous cherché partout pour voir si la Façon d'utiliser Eclipse code dans Android Studio? il a été demandé avant?
  • C'était un peu dur (écrit à ce sujet ici: code.google.com/p/android/issues/detail?id=186208 ), mais maintenant que je le regarde, il ne contient pas tout ce qui est lié aux fichiers et, a fortiori, des captures d'écran au lieu de l'enregistrement vidéo... 🙁