import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469)
winform.add(
button={cls="button";text="Button";left=229;top=257;right=413;bottom=305;z=1};
edit={cls="edit";text="Edit";left=170;top=60;right=580;bottom=246;edge=1;multiline=1;z=2}
)
/*}}*/
//aardio 执行 Python 代码
import process.python;
import console;
console.open();
var pyCode = /**
try:
import pyttsx3
def init_engine():
engine = pyttsx3.init()
# 设置基本参数
# 设置语速 (范围一般在100-300之间)
engine.setProperty('rate', 150)
# 设置音量 (范围为0.0-1.0)
engine.setProperty('volume', 0.8)
return engine
def print_voice_info(engine):
# 获取并打印当前设置
rate = engine.getProperty('rate')
volume = engine.getProperty('volume')
print(f'当前语速:{rate}')
print(f'当前音量:{volume}')
# 查看可用声音
voices = engine.getProperty('voices')
for voice in voices:
print(f'声音ID:{voice.id}')
print(f'声音名称:{voice.name}')
print(f'语言:{voice.languages}')
print('---')
return voices
def main():
engine = init_engine()
voices = print_voice_info(engine)
if voices:
# 设置第一个可用的声音
engine.setProperty('voice', voices[0].id)
# 测试新设置
engine.say("aardio 专用于 Windows 桌面软件开发aardio 是历经 20 年活跃更新的桌面软件开发工具,专用于 Windows 操作系统。因为放弃了跨平台的负担,aardio 大幅降低了桌面软件开发的复杂度,也因此可以专注发挥和利用 Windows 的特性和优势。没有跨平台负担所带来的回报是丰厚的。例如 aardio 的图形界面库就只用了少量纯 aardio 代码编写,而且很好用。甚至整个aardio 标准库基本都是用纯 aardio 代码编写的。")
engine.runAndWait()
else:
print("未找到可用的声音")
if __name__ == "__main__":
main()
except ImportError:
print("请先安装 pyttsx3 模块:pip install pyttsx3")
except Exception as e:
print(f"发生错误:{str(e)}")
**/
winform.button.oncommand = function(id,event){
try{
var python = process.python.exec( pyCode );
python.logResponse();
//检查Python是否有错误输出
if(python.stderr){
win.msgbox(python.stderr,"错误信息");
return; //有错误时直接返回
}
}
catch(e){
win.msgbox(e.message,"执行异常");
}
}
winform.show();
win.loopMessage();