zoukankan      html  css  js  c++  java
  • 仿迅雷播放器教程 -- 基于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多么人性化了吧,大喊一声:这酸爽~~~ 简直不敢相信!!!
     
        请先下载项目,戳我下载,把代码中的音乐路径换成您本地的音乐路径(必须为英文路径), 按下F5,就可以听到音乐啦(由于VLC插件较多,所以F5启动调试时,需要等一段时间才能听到音乐
        如果要看视频该怎么办?
        把音乐路径换成视频路径就行啦,只要是多媒体文件,把路径填上去就可以啦^_^
        什么?没看错吧?没看错,不要1000行代码,也不要100行代码,只要10行代码!  10行代码,万能播放器抱回家!
    效果如图:
     
        下面开始进行技术分析:
        由于VLC做了非常多的处理,并且封装得很好,所以我们可以非常快速的开发播放器。
    1、SDK下载,去官方网站下载一个VLC安装包(Alberl下载的是目前最新的版本,2.1.0),安装后即可在安装目录找到SDK,如图:
     
    其中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~
     
     





  • 相关阅读:
    [python][django学习篇][9]设计正在博客视图(3)
    [python][django学习篇][8]django 视图(2) --简单模板
    [python][django学习篇][7]设计博客视图(1)
    [python][django学习篇][6]操作数据库
    [python][django学习篇][5]选择数据库版本(默认SQLite3) 与操作数据库
    [python][django学习篇][4]django完成数据库代码翻译:迁移数据库(migration)
    [python][django学习篇][3]创建django web的数据库模型
    [python][django学习篇][2]创建django app
    自动化监控利器-Zabbix深入配置和使用
    piwik安装部署最佳实践
  • 原文地址:https://www.cnblogs.com/Alberl/p/3369302.html
Copyright © 2011-2022 走看看