一直以來, 在多媒體播放器這塊, 即便目前有許多開源的播放器項目, 但要寫一個播放器仍然是件很是困難的事, 若是在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