本篇博客將簡單介紹MFC調用libvlc.dll作一個簡單的播放器
VS用到的文件
vlc/win32/vlc-2.1.0-git/libvlc.dll
vlc/win32/vlc-2.1.0-git/sdk/include
vlc/win32/vlc-2.1.0-git/sdk/lib/
libvlccore.dll.a libvlc.dll.a
頭文件沒啥好說的,庫裏面的libvlc.dll.a及libvlccore.dll.a就是上一篇博客所說的靜態庫,我們分別手動改成libvlc.lib及libvlccore.lib就可以在VC環境中調用啦。下面簡要說一下調用的過程
1,新建一個MFC工程
2, 拷貝vlc的相關庫及頭文件
在資源管理器的MFCVLC工程目錄下新建文件夾vlc,lib,將vlc\vlc-2.1.0-git\sdk\include\vlc\vlc.h拷貝到MFCVLC工程目錄下,將vlc\vlc-2.1.0-git\sdk\include\vlc\除了vlc.h之外的所有文件拷貝到vlc目錄下,將vlc\vlc-2.1.0-git\sdk\lib下的libvlc.dll.a及libvlccore.dll.a拷貝到lib下,並分別修改爲libvlc.lib及libvlccore.lib。將vlc\vlc-2.1.0-git\目錄下的libvlc.dll, libvlccore.dll, plugins目錄拷貝到Debug目錄下。如果有Cygwin環境,需要將stdint.h(/usr/include/stdint.h)這個頭文件也拷貝到MFCVLC工程目錄下。在VS環境中FileView中新建文件夾及導入上述文件,最後入下圖所示。
4. 修改頭文件
1) 修改vlc.h,將所有的#include <***>改爲 #include "***"
#include "vlc/libvlc_structures.h"
#include "vlc/libvlc.h"
#include "vlc/libvlc_media.h"
#include "vlc/libvlc_media_player.h"
#include "vlc/libvlc_media_list.h"
#include "vlc/libvlc_media_list_player.h"
#include "vlc/libvlc_media_library.h"
#include "vlc/libvlc_media_discoverer.h"
#include "vlc/libvlc_events.h"
#include "vlc/libvlc_vlm.h"
#include "vlc/deprecated.h"
2) 修改stdint.h,將所有的long long替換爲__int64
3) 修改libvlc_structures.h,#include <stdint.h>爲#include "stdint.h"
5. 編寫代碼
在vlcPlayDlg.cpp中加入頭文件導入。
#include "vlc.h"
6. 關聯靜態庫及編譯運行
打開Project Setting,在link標籤的Object/library modules:下輸入lib/libvlc.lib lib/libvlccore.lib。
build項目,應該沒有錯誤。
Execute Program就可以執行了