仿迅雷播放器教程 -- 基于VLC的C++播放器 (4)

时间:2022-01-20 14:37:27

    经过前面的介绍,想必大家对VLC和ffmpeg都有一定印象了,还记得学习ffmpeg多么蛋疼吗?那么VLC会不会也这么蛋疼呢?

    那么我们来看一段 官方的Demo,Alberl精简了Demo,只留下了主要代码:
#include <stdio.h>
#include
<windows.h>

#include
"vlc/vlc.h"
#pragma comment(lib, "libvlc.lib")
#pragma comment(lib, "libvlccore.lib")

int main(int argc, char* argv[])
{
libvlc_instance_t
* inst;
libvlc_media_player_t
*mp;
libvlc_media_t
*m;

inst
= libvlc_new (0, NULL); /* Load the VLC engine */
m
= libvlc_media_new_path (inst, "D:\\music\\amani.wma"); // 必须为英文路径
mp = libvlc_media_player_new_from_media (m); /* Create a media player playing environement */
libvlc_media_release (m);
/* No need to keep the media now */

// 播放文件
libvlc_media_player_play (mp); /* play the media_player */
Sleep (
100 * 1000); /* Let it play a bit */

libvlc_media_player_stop (mp);
/* Stop playing */
libvlc_media_player_release (mp);
/* Free the media_player */
libvlc_release (inst);
return 0;
}

    十多行代码就可做成播放器啦?

    必须的!
    现在知道ffmpeg多么蛋疼,VLC多么人性化了吧,大喊一声:这酸爽~~~ 简直不敢相信!!!
 
    请先下载项目, 戳我下载,把代码中的音乐 路径换成您本地的音乐路径(必须为英文路径),  按下F5,就可以听到音乐啦( 由于VLC插件较多,所以F5启动调试时,需要等一段时间才能听到音乐
    如果要看视频该怎么办?
    把音乐路径换成视频路径就行啦,只要是多媒体文件,把路径填上去就可以啦^_^
    什么?没看错吧?没看错,不要1000行代码,也不要100行代码,只要10行代码!  10行代码,万能播放器抱回家!
效果如图:
仿迅雷播放器教程 -- 基于VLC的C++播放器 (4)
 
    下面开始进行技术分析:
    由于VLC做了非常多的处理,并且封装得很好,所以我们可以非常快速的开发播放器。
1、 SDK下载,去 官方网站 下载一个VLC安装包(Alberl下载的是目前最新的版本,2.1.0),安装后即可在安装目录找到SDK,如图:
仿迅雷播放器教程 -- 基于VLC的C++播放器 (4)
 
其中libvlc.dll和libvlccore.dll就是我们要的dll,而sdk文件夹下有lib文件和头文件,如图:
仿迅雷播放器教程 -- 基于VLC的C++播放器 (4)
其中lib文件夹只需要两个lib文件即可。
仿迅雷播放器教程 -- 基于VLC的C++播放器 (4)
 
将这些文件拷贝到相应的目录即可,文件具体位置请参考上面给出的Demo项目。
 
2、 其中官方的Demo里为 #include <vlc/vlc.h>,而Alberl的Demo里为 #include "vlc/vlc.h",这是为了让新手不再去配置环境,所以修改了相应的代码。
3、 在vlc目录下添加了一个stdint.h文件,这是为了能够在VS2010以下的环境使用。
 
就这么简短的三个步骤,加上10几行代码就可以做出一个万能播放器,是不是很爽呢~O(∩_∩)O~