鱼C论坛

 找回密码
 立即注册
楼主: zltzlt

[作品展示] 文本复述机 2.0

[复制链接]
发表于 2019-10-6 16:49:43 | 显示全部楼层

好了,谢谢!
帮你改进了一下:
  1. # -*- coding:utf-8 -*-
  2. from tkinter import *
  3. from pyttsx3 import init
  4. from _thread import start_new_thread as s


  5. def repeat(event=None):
  6.     voice = init()
  7.     voice.say(t.get("0.0", END).replace("\n", ""))
  8.     voice.runAndWait()


  9. root = Tk()
  10. root.title("文本复述机")

  11. Label(root, text="你要复述机为您复述什么?").pack(pady=5)
  12. t = Text(root, width=30, height=20)
  13. t.pack(padx=10)
  14. root.bind("<Control-r>", repeat)
  15. Button(root, text="复述", width=12, command=repeat).pack(pady=5)

  16. mainloop()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-6 16:51:00 | 显示全部楼层
一个账号 发表于 2019-10-6 16:49
好了,谢谢!
帮你改进了一下:

这样不能多线程,当它复述时不能有任何操作
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-6 16:52:09 | 显示全部楼层
zltzlt 发表于 2019-10-6 16:51
这样不能多线程,当它复述时不能有任何操作

??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-6 16:53:33 | 显示全部楼层

我的那个复述时可以输入文本,你的不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-6 16:53:46 | 显示全部楼层

知不知道多线程什么意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-6 17:01:55 | 显示全部楼层
zltzlt 发表于 2019-10-6 16:53
知不知道多线程什么意思

知道:
在计算机编程中,一个基本的概念就是同时对多个任务加以控制。许多程序设计问题都要求程序能够停下手头的工作,改为处理其他一些问题,再返回主进程。可以通过多种途径达到这个目的。最开始的时候,那些掌握机器低级语言的程序员编写一些“中断服务例程”,主进程的暂停是通过硬件级的中断实现的。尽管这是一种有用的方法,但编出的程序很难移植,由此造成了另一类的代价高昂问题。中断对那些实时性很强的任务来说是很有必要的。但对于其他许多问题,只要求将问题划分进入独立运行的程序片断中,使整个程序能更迅速地响应用户的请求。

最开始,线程只是用于分配单个处理器的处理时间的一种工具。但假如操作系统本身支持多个处理器,那么每个线程都可分配给一个不同的处理器,真正进入“并行运算”状态。从程序设计语言的角度看,多线程操作最有价值的特性之一就是程序员不必关心到底使用了多少个处理器。程序在逻辑意义上被分割为数个线程;假如机器本身安装了多个处理器,那么程序会运行得更快,毋需作出任何特殊的调校。根据前面的论述,大家可能感觉线程处理非常简单。但必须注意一个问题:共享资源!如果有多个线程同时运行,而且它们试图访问相同的资源,就会遇到一个问题。举个例子来说,两个线程不能将信息同时发送给一台打印机。为解决这个问题,对那些可共享的资源来说(比如打印机),它们在使用期间必须进入锁定状态。所以一个线程可将资源锁定,在完成了它的任务后,再解开(释放)这个锁,使其他线程可以接着使用同样的资源。

多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。线程是在同一时间需要完成多项任务的时候实现的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-6 17:03:22 | 显示全部楼层
一个账号 发表于 2019-10-6 17:01
知道:
在计算机编程中,一个基本的概念就是同时对多个任务加以控制。许多程序设计问题都要求程序能够停 ...

转载的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-6 17:07:59 | 显示全部楼层

被发现了......但是我读过了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-6 18:31:22 | 显示全部楼层
发现bug:
1.如果复述的过程中再复述,那么他就会包RunTimeError。
发展建议:
1.建议加个停止按钮,可以再复述中停止。
2.建议加个暂停/继续按钮,可以在复述中暂停/继续。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-6 18:39:35 | 显示全部楼层
一个账号 发表于 2019-10-6 18:31
发现bug:
1.如果复述的过程中再复述,那么他就会包RunTimeError。
发展建议:

好的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-6 18:40:26 | 显示全部楼层
一个账号 发表于 2019-10-6 18:31
发现bug:
1.如果复述的过程中再复述,那么他就会包RunTimeError。
发展建议:

貌似实现不了啊,库没有提供暂停和播放
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-6 18:49:32 | 显示全部楼层
zltzlt 发表于 2019-10-6 18:40
貌似实现不了啊,库没有提供暂停和播放

更改库的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-6 18:59:06 | 显示全部楼层

我还没这个水平
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-7 14:03:42 | 显示全部楼层
其实改进之前的我都没看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-7 20:02:57 | 显示全部楼层
文字转语音吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-7 20:03:59 | 显示全部楼层

是的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-7 20:21:42 | 显示全部楼层
能不能把复述的文字保存为语音文件
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-7 20:39:10 | 显示全部楼层

啥意思?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-7 20:42:01 | 显示全部楼层
人生_苦短 发表于 2019-10-7 20:21
能不能把复述的文字保存为语音文件

可以,还需别的库。@zltzlt 帮他实现!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-7 21:02:22 | 显示全部楼层

父亲的意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 00:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表