java - studio - como hacer captura de pantalla en windows 10
Usando ADB para capturar la pantalla (6)
Lamento decirle que haga una screencap
solo con un comando simple, solo acepte algunos argumentos, pero ninguno de ellos puede ahorrarle tiempo, aquí está la salida de ayuda de -h
.
$ adb shell screencap -h
usage: screencap [-hp] [-d display-id] [FILENAME]
-h: this message
-p: save the file as a png.
-d: specify the display id to capture, default 0.
If FILENAME ends with .png it will be saved as a png.
If FILENAME is not given, the results will be printed to stdout.
Además del comando screencap
, hay otra screenshot
comando, no sé por qué se eliminó la screenshot
de Android 5.0
, pero está disponible debajo de Android 4.4
, puede consultar la fuente desde here . No hice mi comparación, que es más rápida entre estos dos comandos, pero puede intentarlo en su entorno real y tomar la decisión final.
Esta pregunta ya tiene una respuesta aquí:
- Leer datos stdout binarios de adb shell? 15 respuestas
Estoy tratando de obtener una captura de pantalla de la pantalla del teléfono lo más rápido posible. Actualmente estoy haciendo:
adb shell screencap -p /sdcard/screencap.png && adb pull /sdcard/screencap.png
Sin embargo, es demasiado lento y tarda hasta 3 segundos. ¿Hay alguna manera mejor de hacer esto? Tengo la intención de utilizar esta función con un teléfono sin rootear.
Además, ¿cuáles son los diferentes argumentos que puedo usar para capturas de pantalla?
Gracias.
EDITAR (información adicional): tengo la intención de utilizar este método para poder obtener una transmisión en vivo de la pantalla en mi PC. El método actual funciona, sin embargo, es demasiado lento. No puedo usar el adb shell screenrecord
porque no podré acceder al archivo de video mientras se está grabando.
Para comenzar a grabar la pantalla de su dispositivo, ejecute el siguiente comando:
adb shell screenrecord /sdcard/example.mp4
Este comando comenzará a grabar la pantalla de su dispositivo usando la configuración predeterminada y guardará el video resultante en un archivo en el archivo /sdcard/example.mp4 en su dispositivo.
Cuando haya terminado de grabar, presione Ctrl + C en la ventana del símbolo del sistema para detener la grabación en pantalla. Luego puede encontrar el archivo de grabación de pantalla en la ubicación que especificó. Tenga en cuenta que la grabación de la pantalla se guarda en el almacenamiento interno de su dispositivo, no en su computadora.
La configuración predeterminada es usar la resolución de pantalla estándar de su dispositivo, codificar el video a una velocidad de bits de 4 Mbps y establecer el tiempo máximo de grabación de pantalla en 180 segundos. Para obtener más información sobre las opciones de línea de comandos que puede usar, ejecute el siguiente comando:
adb shell screenrecord --help
Esto funciona sin enraizar el dispositivo. Espero que esto ayude.
Para que funcione @ OSX y Linux
adb exec-out screencap -p > screen.png
Puedes leer el binario desde stdout en lugar de guardar el png en la sdcard y luego extraerlo:
adb shell screencap -p | sed ''s|/r$||'' > screenshot.png
Esto debería ahorrar un poco de tiempo, pero no mucho.
Usando parte del conocimiento de este y un par de otras publicaciones, encontré que el método que mejor me funcionó fue:
adb shell ''stty raw; screencap -p''
He publicado una secuencia de comandos de Python muy simple en GitHub que esencialmente refleja la pantalla de un dispositivo conectado a través de ADB:
https://.com/a/37191719/75579 respuesta dejó de funcionar para mí en Android 7 de alguna manera. Así que tengo que hacerlo de forma manual, así que quiero compartirlo.
Cómo instalar
Coloque este fragmento de código en su archivo
~/.bash_profile
o~/.profile
:snap_screen() { if [ $# -eq 0 ] then name="screenshot.png" else name="$1.png" fi adb shell screencap -p /sdcard/$name adb pull /sdcard/$name adb shell rm /sdcard/$name curr_dir=pwd echo "save to `pwd`/$name" }
Ejecute el comando
source ~/.bash_profile
osource ~/.profile
,
Cómo utilizar
Uso sin especificar nombre de archivo:
$ snap_screen
11272 KB/s (256237 bytes in 0.022s)
Saved to /Users/worker8/desktop/screenshot.png
Uso con un nombre de archivo:
$ snap_screen mega_screen_capture
11272 KB/s (256237 bytes in 0.022s)
Saved to /Users/worker8/desktop/mega_screen_capture.png
¡Espero eso ayude!
** Esto no funcionará si se conectan múltiples dispositivos