使用python进行adb屏幕录制

问题描述 投票:0回答:1

你好,我正在尝试使用 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) 之后停止录制

python crash subprocess adb screen-recording
1个回答
0
投票

你应该跑

adb shell screenrecord --time-limit=3 /sdcard/video.mp4
© www.soinside.com 2019 - 2024. All rights reserved.