仿迅雷播放器教程 -- 基于VLC的C++播放器 (4)
经过前面的介绍,想必大家对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~
分类:
仿迅雷播放器教程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现