完整代码,无障碍模拟飞行器手机安卓QPython可以导入编辑器运行。豆包弄出来的

2 达人 13小时前 160次点击

# -*- coding: utf-8 -*-

import time

import threading

from androidhelper import Android

droid = Android()

# ========== 全局参数 ==========

height = 0

speed = 0

position = "巡航空域"

last_click = 0

click_count = 0

panel_open = False

# ========== 系统TTS朗读 ==========

def speak(text):

droid.ttsSpeak(text)

# ========== 播报信息 ==========

def report_info():

msg = f"高度:{height},油门:{speed},位置:{position}"

speak(msg)

# ========== 飞行控制 ==========

def fly_up():

global height

height += 30

speak(f"提升高度,当前高度 {height}")

def fly_down():

global height

height = max(0, height - 30)

if height == 0:

speak("已降落")

else:

speak(f"降低高度,当前高度 {height}")

def fly_left():

speak("向左转向")

def fly_right():

speak("向右转向")

def throttle_up():

global speed

speed += 10

speak(f"油门加大,当前速度 {speed}")

def throttle_down():

global speed

speed = max(0, speed - 10)

speak(f"油门减小,当前速度 {speed}")

# ========== 面板功能 ==========

def open_panel():

global panel_open

panel_open = True

speak("操作面板已唤醒,支持:导航、加油、起落架、关闭")

def close_panel():

global panel_open

panel_open = False

speak("操作面板已关闭")

def do_action(cmd):

if "导航" in cmd:

speak("自动导航已开启")

elif "加油" in cmd:

speak("燃油补充完成")

elif "起落架" in cmd:

speak("起落架已展开")

elif "关闭" in cmd:

close_panel()

# ========== 横屏 ==========

droid.setScreenOrientation(0)

speak("飞机驾驶系统已启动,横屏模式,左侧油门,右侧升降")

# ========== 无障碍手势监听核心 ==========

def gesture_service():

global last_click, click_count, panel_open

while True:

event = droid.eventWaitFor("accessibility", 500)

if not event:

continue

data = event.result

x = data.get("x", 0)

y = data.get("y", 0)

action = data.get("action", "")

width = data.get("width", 1000)

mid = width // 2

# 单击计时(双击检测)

now = time.time()

# ========== 双击播报 ==========

if action == "click":

if now - last_click < 0.3:

click_count += 1

if click_count == 2:

if x < mid:

report_info()

click_count = 0

last_click = now

# ========== 长按唤醒面板 ==========

if action == "long_click":

open_panel()

# ========== 滑动控制 ==========

if action == "swipe_up":

if x < mid:

throttle_up()

else:

fly_up()

if action == "swipe_down":

if x < mid:

throttle_down()

else:

fly_down()

if action == "swipe_left":

if x < mid:

speak("切换导航")

else:

fly_left()

if action == "swipe_right":

if x < mid:

speak("切换高度显示")

else:

fly_right()

time.sleep(0.05)

# ========== 启动服务 ==========

if __name__ == "__main__":

speak("请开启谷歌无障碍服务,然后操作屏幕")

gesture_service()

点击这里是什么效果?我也不知道
共 8 条评论
云亭 13小时前
0 
很难跑得起来。
达人 [楼主] 12小时前
0 
就算是可以运行他这个。只说话,没有操作页面。说再详细也是没有用,还是没有操作页面,没有切换横屏
肖战天 12小时前
0 

这个要自己编辑地图还是你这个代码要在哪里输入啊

克图格亚 11小时前
0 
是的,这玩意儿至少得反复的修几十次
云亭 10小时前
0 
首先,调用读屏就是一个不现实的事情。电脑想要程序调用读屏必须得有API的。冰芒游这些平台都是内置好的API,不需要再做。如果让AI去帮你写程序,必须得从零做起,首先你需要有相对应读屏的API文件,它才能用。,想要内置语音库,那你必须不是得有该语音的API嘛?我是这么想的。咋可能凭一句话说让他帮我用读屏朗读,他就能用读屏朗读。
达人 [楼主] 12小时前
0 
你可以让豆包帮你生成完整代码。生成完事儿之后,它是有三个按钮,第3个就是点开之后,点开那个下面第2个按钮。点开之后它会出来有些复制链接,复制文本,点开那个导入文件。点开之后就出来分享了。选择那个QPython编辑器点开之后就可以了。然后他就直接进入那个页面,接下来是怎么操作的话,按情况吧,有的是需要点击那个按钮,那个播放按钮那个,但是需要打开图标识别才可以。知道哪个是绿色播放按钮
云幽雪之梦 11小时前
0 

好好好 查看完整内容都出来了是吧 你厉害 这代码得有多长啊

云亭 10小时前
0 
他这个还不算长。真正长的,这里的发不出来。能往这里发的都不到6000字。这是什么概念?
添加一条新评论

登录后可以发表评论 去登录