专栏首页用户1692782的专栏python十几行代码实现简单播放器

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

一、播放器简介

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

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程序。

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

本文分享自微信公众号 - 视界音你而不同(WorldOfVideoAndAudio),作者:马龙飞

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • android实现简单音乐播放器

    写这个音乐播放器实在是迫不得已。因为我们Andoird课程要求写一个音乐播放器。所以就有了此项目。这个项目比较简单,实现了最基本的音乐播放功能,然后界面是仿照着...

    砸漏
  • 简单音乐播放器的实现

    http://download.csdn.net/download/xinpengfei521/9627986

    Vance大飞
  • 基于python实现音乐播放器代码实例

    砸漏
  • 实现一个简单音乐播放器

    1、写静态页面 2、通过getMusicList函数用Ajax获取歌曲数据列表musiclist 3、通过loadMusic函数实现歌曲的播放功能 4、根据获取...

    bamboo
  • iOS-QQ音乐播放器的简单实现

    xx_Cc
  • 简单几行代码让ViewPager实现垂直滑动效果

    下面是view_one.xml,view_two,view_three也是一样的,只是text内容不一样。为了演示简单,这里只是用了TextView做演示。

    AWeiLoveAndroid
  • nodejs最简单的几行代码实现http输出文件

    小贝壳
  • 用简单代码实现IOC容器

    相信每一个java程序员在面试经历中,都被面试官问到过AOP和IOC,用官方的话语来回答AOP和IOC,那就是切面编程和控制反转及依赖注入。

    Java3y
  • Python tkinter实现简单加法计算器代码实例

    tkinter 是 Python 的标准 GUI 库。Python 使用 tkinter 可以快速的创建 GUI 应用程序。由于 tkinter 是内置到 py...

    砸漏

扫码关注云+社区

领取腾讯云代金券