经过前面的介绍,想必大家对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多么人性化了吧,大喊一声:这酸爽~~~ 简直不敢相信!!!
如果要看视频该怎么办?
把音乐路径换成视频路径就行啦,只要是多媒体文件,把路径填上去就可以啦^_^
什么?没看错吧?没看错,不要1000行代码,也不要100行代码,只要10行代码! 10行代码,万能播放器抱回家!
效果如图:
下面开始进行技术分析:
由于VLC做了非常多的处理,并且封装得很好,所以我们可以非常快速的开发播放器。
其中libvlc.dll和libvlccore.dll就是我们要的dll,而sdk文件夹下有lib文件和头文件,如图:
其中lib文件夹只需要两个lib文件即可。
将这些文件拷贝到相应的目录即可,文件具体位置请参考上面给出的Demo项目。
2、
其中官方的Demo里为
#include <vlc/vlc.h>,而Alberl的Demo里为
#include "vlc/vlc.h",这是为了让新手不再去配置环境,所以修改了相应的代码。
3、
在vlc目录下添加了一个stdint.h文件,这是为了能够在VS2010以下的环境使用。
就这么简短的三个步骤,加上10几行代码就可以做出一个万能播放器,是不是很爽呢~O(∩_∩)O~