Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Kivy停止视频并展示照片_Python_Kivy - Fatal编程技术网

Python Kivy停止视频并展示照片

Python Kivy停止视频并展示照片,python,kivy,Python,Kivy,我正在开发一个kivy框架v1.10。我正在尝试创建一个简单的摄影棚软件,它运行一个视频循环,当有人点击屏幕时停止视频。之后,相机拍摄一张照片,程序将其显示在监视器上,同时显示两个按钮yes(是)或no(否)。它们将允许您重复照片。我正在为树莓皮开发这个应用程序。我的问题是如何停止视频并制作其他内容 好的,那么如果我想在第一部电影和按钮之间添加另一部电影,我需要添加一个新的屏幕吗,或者在这个功能中更改视频源self.bind on\u touch\u down=self.on\u stop?我想

我正在开发一个kivy框架v1.10。我正在尝试创建一个简单的摄影棚软件,它运行一个视频循环,当有人点击屏幕时停止视频。之后,相机拍摄一张照片,程序将其显示在监视器上,同时显示两个按钮yes(是)或no(否)。它们将允许您重复照片。我正在为树莓皮开发这个应用程序。我的问题是如何停止视频并制作其他内容


好的,那么如果我想在第一部电影和按钮之间添加另一部电影,我需要添加一个新的屏幕吗,或者在这个功能中更改视频源self.bind on\u touch\u down=self.on\u stop?我想添加一个倒数计时的视频,让他通过拍照来释放相机。然后用按钮显示此照片一次:重复并继续

从kivy.app导入应用程序 从kivy.logger导入记录器 从kivy.uix.videoplayer导入视频 从kivy.uix.label导入标签 从kivy.uix.button导入按钮 从kivy.uix.boxlayout导入boxlayout PlayerVideo类: 定义初始自我,**kwargs: 超级层,自我初始化 self.source='./START.mp4' self.state='play' self.options={'eos':'loop'} self.bindon\u touch\u down=self.on\u stop self.get\u set\u current\u video\u state=self.get\u set\u current\u video\u state def checkself: Logger.infofilm位置:+strself.position def on_stopself,*参数: 打印“我已被点击” 播放器。状态为“停止” App.get\u running\u App.stop self.get\u set\u当前\u视频\u状态='pause' 返回MyWindowApp.run 类VideoPlayerApp: def buildself: 还击球员 类MyWindowAppApp: 定义初始自我: 超级英雄,赛尔夫__ self.btn=按钮text='推我!' self.lbl=Labeltext='Read Me!'
与其尝试使用两个应用程序,不如使用两个屏幕。以下是使用屏幕对代码的修改:


我已将您的导入更正为从kivy.uix.video导入视频

请考虑VideoPlayer.state='stop',如中所述。此命令关闭了我的应用程序,但我如何停止视频并运行其他活动。例如,带有照片背景的菜单,带有两个按钮是或否。文档中没有说它将关闭应用程序。尝试暂停而不是停止。可能重复“确定”,因此,如果我想在第一个按钮和按钮之间添加另一部电影,我是否必须添加新屏幕或更改此功能中的视频源self.bind on\u touch\u down=self.on\u stop?我想添加一个倒计时的视频,让他通过拍照来释放摄像机。然后用按钮显示此照片一次:重复并继续。
from kivy.app import App
from kivy.logger import Logger
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.video import Video
from kivy.uix.label import Label
from kivy.uix.button import Button



class Player(Video):
    def __init__(self,  **kwargs):
        super(Player,  self).__init__(**kwargs)
        self.source = './START.mp4'
        self.state='play'
        self.options={'eos': 'loop'}
        self.bind(on_touch_down = self.on_stop)

    def check(self):
        Logger.info("film position:" + str(self.position))

    def on_stop(self,  *args):
        print ('I have been clicked')
        self.state='stop'  # stop the video
        sm.current = 'WindowApp'  # switch to the other Screen


class MyWindowApp(Screen):

    def __init__(self, **kwargs):
        super(MyWindowApp, self).__init__(**kwargs)


        self.btn = Button(text='Push Me!', pos_hint={'center_x': 0.5, 'center_y': 0.75}, size_hint=(0.2, 0.2))
        self.lbl = Label(text='Read Me!', pos_hint={'center_x': 0.5, 'center_y': 0.25})

        self.add_widget(self.btn)
        self.add_widget(self.lbl)

sm = ScreenManager()
screen1 = Screen(name='video')
screen1.add_widget(Player())
sm.add_widget(screen1)
screen2 = MyWindowApp(name='WindowApp')
sm.add_widget(screen2)

class VideoPlayerApp(App):
    def build(self):
        return sm


VideoPlayerApp().run()