我想制作一个使用 pytube 和 kivy 下载 youtube 视频的应用程序。问题是应用程序冻结,然后在下载开始时停止响应。我知道它开始下载,因为它创建了一个 mp4 文件。我研究了调度和多线程,但我不知道它们是如何工作的,我什至不确定它们是否能解决我的问题。谁能告诉我在哪里看?
蟒蛇文件:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from pytube import YouTube
class MyWidget(BoxLayout):
def download_video(self, link):
yt = YouTube(link)
yt.streams.first().download()
class Youtube(App):
pass
if __name__ == "__main__":
Youtube().run()
基维文件:
MyWidget:
<MyWidget>:
BoxLayout:
orientation: 'horizontal'
Button:
text: 'press to download'
on_press: root.download_video(url.text)
TextInput:
text: 'paste the youtube URL here'
id: url