一直以来, 在多媒体播放器这块, 即便目前有许多开源的播放器项目, 但要写一个播放器仍然是件很是困难的事, 若是在windows上你有可能须要熟悉DShow, 另外的话, 你须要学习一堆开源项目(好比FFmpeg, MPC, VLC, Mplayer), 并且多数都是基于linux, 在windows上学习起来很不容易, 然而这些开源项目对于一些但愿快速实现本身播放器, 就显得很困难.
所以, 我建立了这个项目, 致力于以最简单的方法实现本身的播放器, 并提供一个能够很方便使用的接口.
目前, 在这个代码中, 主要连接到FFmpeg来进行解码, 并将其改形成一个通用的播放器框架. 在这个框架中可以接受各类数据的读入, 能够很方便的封装本身的数据读取模块, 也能够很方便的定制本身的视频渲染模块和音频播放模块, 你只须要参考其中的实现便可.
另外在当前的实现中, 由于我的精力实在有限, 因此借鉴了一些开源项目的代码(如Mplayer), 而且该代码主要基于windows平台, 有移植到linux等其它平台的打算. 因此, 我但愿有朋友能参与到这个项目中一块儿研究和学习, 并完成这个目标.
avcore是一个封装模块, 若是要建立一个播放器, 只须要avplayer.h, 而后使用建立一个avplayer对象, 就能够建立一个播放器, 关于如何使用avcore的具体细节能够参考avplayer/main.cpp
附: 在release目录下已经生成了能够测试的执行文件, 其中bt_source.dll是一个基于libtorrent实现的数据读入模块(source), 能够方便的播放bt中的视频, 若是有兴趣能够将bt_source.dll改名为source.dll进行测试, 里面有一个从优酷找的一个超清视频文件gq.flv.torrent种子文件用于测试.linux
最后, 任何方式(包括商业或非商业)修改或引用该项目的所有或部分源码(或dll), 请在你的软件中或产品文档中必须清楚的声明引用了该项目, 并注明url(https://github.com/Jackarain/avplayer), 你能够偷偷的不这样作, 但这样作是使人欣赏的作法.git
最后本程序做者不承担使用该程序所带来的任何问题并拥有一切解释权.github