Scrcpy多线程投屏

前置条件

  1. 打开手机的开发者模式,具体方法百度
  2. 使用usb链接电脑和手机
  3. 电脑已安装adb
  4. github搜索scrcpy并安装
    1. 校验adb是否添加成功可以使用adb devices命令
    2. 校验scrcpy可以直接输入scrcpy,没报错就可以了
  5. python中运行下方代码

脚本说明

除了支持单设备同时投屏,也支持多个设备同时投屏

源码

'''

Scrcpy多线程投屏

脚本说明

除了支持单设备同时投屏,也支持多个设备同时投屏

运行失败,优先在cmd中输入adb devices检查设备是否正常连接

'''

import subprocess

import threading

def start_scrcpy(device_id):

    try:

        # 直接在Python脚本中启动scrcpy进程

        process = subprocess.Popen(['scrcpy', '-s', device_id], stdout=subprocess.PIPE, stderr=subprocess.PIPE)

        # 这里可以添加代码来监控进程的状态或者输出

    except Exception as e:

        print(f"Failed to start scrcpy for device {device_id}: {e}")

def get_device_ids():

    result = subprocess.run(['adb', 'devices'], stdout=subprocess.PIPE, text=True)

    device_ids = []

    for line in result.stdout.splitlines():

        if '\tdevice' in line:

            device_id = line.split('\t')[0].strip()

            if device_id:

                device_ids.append(device_id)

    return device_ids

def main():

    device_ids = get_device_ids()

    if len(device_ids) == 0:

        print("No devices connected.")

    else:

        # 为每个设备启动一个线程来运行scrcpy

        threads = []

        for device_id in device_ids:

            thread = threading.Thread(target=start_scrcpy, args=(device_id,))

            thread.start()

            threads.append(thread)

        # 可选:等待所有线程完成(在这个场景中可能不需要,因为scrcpy进程是长期的)

        # for thread in threads:

        #     thread.join()

main()

# if __name__ == "__main__":

#     main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值