1. import pyglet
  2.  
  3. class T(pyglet.window.Window):
  4. def __init__(self):
  5. super(T, self).__init__()
  6. self.player = pyglet.media.Player()
  7.  
  8. # self.player.push_handlers(self.on_eos())
  9.  
  10. media = pyglet.media.load('1.mp4')
  11. self.player.queue(media)
  12.  
  13. self.dur = media.duration
  14. print(self.player.source.video_format)
  15. print(self.player.source.video_format.width)
  16. print(self.player.source.video_format.height)
  17. print(media.duration)
  18.  
  19. self.player.play()
  20. pyglet.clock.schedule(self.update)
  21. # pyglet.clock.schedule_interval(self.update, 1)
  22.  
  23. def update(self, dt):
  24. if self.player.time >= self.dur - 0.1 : # 这里减 0.1, 具体根据 dt 定.
  25. print('seeking....')
  26. self.player.seek(0)
  27. self.player.play()
  28. print(self.player.time)
  29. print('-------------')
  30.  
  31. def on_eos(self):
  32.  
  33. print('end now')
  34.  
  35. def on_draw(self):
  36. self.player.get_texture().blit(0,0)
  37.  
  38. T()
  39. pyglet.app.run()

  

pyglet self.的更多相关文章

  1. pyglet: a cross-platform windowing and multimedia

    pyglet pyglet: a cross-platform windowing and multimedia library for Python.

  2. 简单说pyglet.event

    emitter,就是pyglet.event.EventDispatcher的子类, 负责发出事件的消息,并且规定了响应消息的函数名. class Consumer(pyglet.event.Even ...

  3. pyglet -- 视频播放器 (简单实现,效果不是太好,切换资源会卡死)(三)

    实现一个简单的视频播放器,效果不是很好.这里不多说,直接贴代码了. #-*- coding:gbk -*- import pyglet import os from pyglet.gl import ...

  4. pyglet and opengl -- 纹理映射以及动画

    #-*- coding:gbk -*- #from pyglet.gl import * from OpenGL.GL import * import pyglet from pyglet impor ...

  5. pyglet 绝对路径资源导入以及视频播放(二)

    今天终于搞明白怎么把绝对路径内的视频文件和音频文件导入到资源... 代码: #-*- coding:gbk -*- import pyglet import os window=pyglet.wind ...

  6. 音乐播放和视频播放--pyglet(一)

    最近,开始学习pyglet库.通过几天的学习,深刻的体会了python第三方模块的强大.我一直想做多媒体开发,曾经尝试用C语言进行编写,但是C语言在GUI开发上难度较大,要写一个界面出来得码很多冗余的 ...

  7. pyglet player sound

    Player = pyglet.media.Player() # our event handling function def on_eos(): print("on player eos ...

  8. pyglet StaticSource

    for i in range(10): self.player2.queue(pyglet.media.StaticSource(pyglet.media.load('2.mp3')))

  9. pyglet模块的EventDispatcher(事件派发对象)

    事件派发对象用于处理事件的派发与响应,pyglet的window对象正是继承了它才具有处理事件的能力. 步骤: 1.注册事件类型: EventDispatcher.register_event_typ ...

随机推荐

  1. Spark Mllib之分层抽样

    Spark中组件Mllib的学习之基础概念篇 1.解释 分层抽样的概念就不讲了,具体的操作: RDD有个操作可以直接进行抽样:sampleByKey和sample等,这里主要介绍这两个 (1)将字符串 ...

  2. hash值重写,就是以自己定义的规则来显示hash值

    未重写hashCode值 重写hashCode后的值  

  3. Linux学习笔记:常用100条命令(二)

    linux常用命令 1.vi中复制快捷键 yy --复制 p --粘贴 2.vi中保存退出 ZZ 3.linux解压zip unzip 4.查看软件组包 yum grouplist 5.安装组包 yu ...

  4. Python字典和集合的内部实现

    1. 哈希表(Hash tables) 在Python中,字典是通过哈希表实现的.也就是说,字典是一个数组,而数组的索引是经过哈希函数处理后得到的.哈希函数的目的是使键均匀地分布在数组中.由于不同的键 ...

  5. python-列表解析、字典解析、集合解析

    列表解析.字典解析.集合解析 列表解析 生成一个列表 nums = [1, 3, 9] list_gen = [num**2 for num in nums if x <= 5] # [1, 9 ...

  6. Http 服务 简单示例

    现在我们实现一个GO的Web http服务 只做演示,没有实际功能 但是能看出Go做Http服务的简洁 **************************************** package ...

  7. GO linux LiteIDE

    GO 有个IDE开发环境,还是挺不错的 要明确一下,GO主要还是服务器端语言,所以,这里只以linux为例来说明安装和使用 一. 下载https://www.golangtc.com/download ...

  8. Unity3d打包发布Android程序

    unty3d这个款游戏引擎的强大之处就是编写一个程序.可以多平台发布.我的是安卓手机.所以此文介绍下发布安卓的过程 发布安卓前. 1:需要配置java环境.这里之前写过一篇java的配置  http: ...

  9. 线程间操作无效: 从不是创建控件“button1”的线程访问它。

    .net2后是不能跨线程访问控件的.,窗体上的控件是当前线程创建的,当用户异步执行一个方法:在该方法中给窗体上的控件赋值,记住:当执行一个异步委托的时候,其实 就是开了一个线程去执行那个方法,这样就会 ...

  10. VirtualBox下扩容vdi文件

    VirtualBox下扩容vdi文件 版本:VirtualBox 5.0.14 之前VirtualBox创建的虚拟机的vdi文件过小,无法满足新的实验需求,扩容vdi文件的方法如下: 比如我这里将RH ...