首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python十几行代码实现简单播放器

python十几行代码实现简单播放器

作者头像
视界音你而不同
发布2020-10-10 16:09:53
2.2K0
发布2020-10-10 16:09:53
举报

一、播放器简介

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

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 pyglet

window = pyglet.window.Window(resizable=True)

@window.event
def 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.play

    pyglet.app.run()

关于这段代码的说明:

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

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

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

三、生成exe文件

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

注意:

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

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

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 视界音你而不同 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档