你好,我正在尝试使用 adb 使用 python 来记录我的 android 的屏幕,但是当它使用记录屏幕的命令执行代码行时,一切都冻结了,但记录开始了,我认为这是因为它在等我停止它但它不会执行下一行代码,它说停止记录,因为它被卡住了,也许我在子进程上做错了什么,有什么帮助吗?
import subprocess
import os
import time
def record():
prova = "adb -s " + str(comando) + " shell" + " screenrecord" +" /sdcard/video.mp4"
provaprocesso = subprocess.Popen(prova, stdout=subprocess.PIPE)
provastringa = provaprocesso.communicate(input=None)[0]
def stoprecord():
subprocess.run(["^C"], shell=True, capture_output=True).stdout.decode()
subprocess.run(["adb" , "-s" , str(comando), "pull" , "/sdcard/video.mp4"], shell=True, capture_output=True).stdout.decode()
time.sleep(0.5)
subprocess.run(["adb" , "-s" , str(comando), "shell" , "rm", "/sdcard/video.mp4"], shell=True, capture_output=True).stdout.decode()
record()
time.sleep(3)
stoprecord()
我预计它会开始录制屏幕并在 time.sleep(3) 之后停止录制
你应该跑
adb shell screenrecord --time-limit=3 /sdcard/video.mp4