点击上方「蓝字」关注我们

一、播放器简介

播放器大家都并不陌生,我们听音乐,我们看视频都会用到。那么播放器实现的功能到底有哪些呢?一个播放器一般来讲都完成了如下步骤:

1.读取文件(包括音频文件和视频文件);

2.判断文件类型(视频和音频的格式千差万别);

3.根据不同的文件类型来进行解码(流媒体的文件体积太大,一般都经过了压缩,而压缩的标准和格式又五花八门);

4.保证音画同步(画面和视频不同步是不是很不爽);

5.解码后的图像渲染到显示设备(如显示器,不同的显卡和硬件的驱动也千差万别);

6.解码后的图像渲染到声音设备(如声卡)。

有没有感觉好复杂。没错,一个音视频播放的背后就是这么复杂,不过对于我们使用者来说使用是简单的。这也是我们常追求的一种产品哲学,把复杂留给后台,把简单呈现给用户。

二、使用python简单实现播放器

接触到python之后,发现其强大之处,结合自己的技术方向,简单实现了一个播放器,可以说,这样的组合把留给程序员的复杂也进一步的减少了呢。

当然如果你要是想完全懂这个程序,可能需要有一定的前提:

1.你有简单的python基础,不需要精通,快速入门即可;

2.你有简单的图形图像的基础,看过我的公众号的你,基本都具备这个能力(哈哈);

再说一下这个程序所需要的开发环境:

3.python的开发环境,最少3.6以上,IDE你用什么都可以,vscode, pycharm等等;

4.你需要安装pyglet的python库:安装命令很简单喽 pip install pyglet;

5.同时你需要安装AVbin动态库,介个是pyglet所使用的多媒体解码库,动动你的手指,百度或google,然后安装一下;

6.你需要安装PyInstaller库:安装命令同样很简单pip install PyInstaller;

7.最好找一个播放器的图标:mylayer.ico;

8.准备一个测试的视频。

好了,环境准备好以后,接下来就是传说中的十几行代码:

import pygletwindow = pyglet.window.Window(resizable=True)@window.eventdef on_draw():player.get_texture().blit(0, 0)if __name__ == "__main__":player = pyglet.media.Player()source = pyglet.media.load("F:\\FFOutput\\parent.vob")player.queue(source)player.playpyglet.app.run()

关于这段代码的说明:

文件的路径一定要写对哦,就是你的测试视频所在的路径;

这是一个简单的版本,所以只有播放,而没有控制,如暂停,播放等选项

别忘了写pyglet.app.run()这是程序事件循环的起点哈。

三、生成exe文件

pyinstaller player.py -F --icon=player.ico

注意:

这里的player.py就是我们所创建的python文件的名称,你可以起更酷炫的;

这里的player.ico就是我们生成的exe文件的图标;

这里的pyinstaller就是我们环境准备里的PyInstaller包的可执行程序,用于打包python程序。

有没有很强大?十几行代码,实现一个简单播放器,有没有很简单。可以尝试一下看看效果哦!

扫码关注了解更多

交流群已开启,有需要的朋友,公众号后台回复“交流群”,获取入群方式!

python编写视频播放器_python十几行代码实现简单播放器相关推荐

  1. python开发视频播放器_python_十几行代码实现简单播放器

    python20行代码实现简单播放器 播放器简介 播放器大家都并不陌生,我们听音乐,我们看视频都会用到.那么播放器实现的功能到底有哪些呢?一个播放器一般来讲都完成了如下步骤: 读取文件(包括音频文件和 ...

  2. python语言写视频播放器-python_十几行代码实现简单播放器

    python20行代码实现简单播放器 播放器简介 播放器大家都并不陌生,我们听音乐,我们看视频都会用到.那么播放器实现的功能到底有哪些呢?一个播放器一般来讲都完成了如下步骤: 读取文件(包括音频文件和 ...

  3. python控制视频播放器的大小与位置_python_十几行代码实现简单播放器

    python20行代码实现简单播放器 播放器简介 播放器大家都并不陌生,我们听音乐,我们看视频都会用到.那么播放器实现的功能到底有哪些呢?一个播放器一般来讲都完成了如下步骤: 读取文件(包括音频文件和 ...

  4. python split函数 空格_python上手--10行代码读懂红楼梦

    取名10行代码看懂红楼梦,是将介绍使用python代码来读红楼梦获取其主要人物.这里的思想就是词频统计,通过分析红楼梦小说文字中出现最多的词语,来概括说明红楼梦的核心人物和事情.实际上如果你能跟着往下 ...

  5. FFmpegSDL教程:用不到1000行代码写一个播放器

    序 更新:本教程最近一次更新于2015年2月. FFmpeg是一个创建视频应用,甚至更通用程序的强大音视频工具库.FFmpeg能够完成视频处理过程中解码,编码,封装和解封装所有这些棘手工作.借助它,可 ...

  6. python抽样不同花色纸牌_Python 十几行代码实现你对一副扑克牌的所有幻想

    1 importcollections2 from random importchoice, shuffle3 4 #构建了一个简单的 Card 类来表示一张纸牌,rank牌值,suit花色 5 Ca ...

  7. 用python画满天星花朵_Python用27行代码绘制一幅满天星

    前言 每一个孩子都像星空中的一颗星星,散发着自己所特有的光芒照亮着整个夜空.今天就带大家用27行Python代码绘制一幅满天星吧. 全局设置 在绘制满天星的过程中要运用到turtle工具,它是Pyth ...

  8. python绘制像素图_Python用61行代码实现图片像素化的示例代码

    起因 看到网上的像素图片,感觉蛮有趣的,就打算用python一些PIL类库写一个. 实现思路 把一张图片分成多个块,每个块的颜色都等于这个色块中颜色最多的颜色,如下图. 这个图取2×2的像素为块的大小 ...

  9. python画自己的名字_Python+OpenCV 十几行代码模仿世界名画

    原标题:Python+OpenCV 十几行代码模仿世界名画 现在很多人都喜欢拍照(自拍).有限的滤镜和装饰玩多了也会腻,所以就有 APP 提供了模仿名画风格的功能,比如 prisma.versa 等, ...

  10. python抠图精确到发丝_Python用5行代码实现批量抠图的示例代码

    前言 对于会PhotoShop的人来说,抠图是非常简单的操作了,有时候几秒钟就能扣好一张图.不过一些比较复杂的图,有时候还是要画点时间的,今天就给大家带了一个非常快速简单的办法,用Python来批量抠 ...

最新文章

  1. 2018年薪资最高的15个技术岗
  2. seaborn可视化直方图(histogram)、添加密度曲线、并自定义直方图中每一个条形的条形框的色彩(edgecolor)
  3. Python基础教程(八):日期和时间、文件I/O、异常处理
  4. 删除-Trustzone-TEE-ATF
  5. 阴谋还是骗局?美国最牛家族的“董事长”,跑到中国开了家假银行.....
  6. for循环中包含跨服务查询优化
  7. python绘图——坐标轴
  8. R语言︱机器学习模型评估方案(以随机森林算法为例)
  9. 百度网盘登陆验证提示:无法访问此页面,或者二维码显示失败,弹窗显示:无法访问此页面,确保web地址。。。。
  10. jsch jar包连接不上ssh报Algorithm negotiation fail 错误
  11. 在cmd中遍历局域网内的IP命令解析
  12. 4 ARM PEG20K MAL
  13. 罗素:自由主义的十诫
  14. scipy butter 滤波器实现
  15. mysql和oracle有什么区别
  16. 设圆半径r = 1.5,圆柱高h = 3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积
  17. 求助:vsftpd启动报错code=exited, status=2
  18. Java小白入门总结
  19. win10系统遭遇VMware USB Arbitration Service 无法启动,错误31的解决方案
  20. 【高级篇 / SNMP】(7.0) ❀ 04. PRTG 监控 FortiGate 状态 (下) ❀ FortiGate 防火墙

热门文章

  1. ios应用音频与来电铃声冲突问题
  2. Unity笔记-29-ARPG游戏项目-06-弓箭
  3. mac怎么显示服务器中隐藏文件,mac怎么显示隐藏文件夹-mac显示隐藏文件命令与使用教程 - 河东软件园...
  4. HDU6357——Hills And Valleys
  5. nat流量,业务流量_10种增加在线业务流量的方法
  6. Openstack Periodic Task
  7. 脸书隐藏了未能阻止滥用技术的官僚主义报道的失败
  8. C++Qt入门(1)---Qt简介,第一个Qt程序,Qt按钮
  9. 变换累次积分顺序的方法和原理(图文详解)
  10. Semi-Supervised Semantic Image Segmentation with Self-correcting Networks:基于自校正网络的半监督语义图像分割