libvlc简单例子(1.1.0以后版本)vs2008

来源:互联网 发布:双立人去味皂淘宝 编辑:程序博客网 时间:2024/04/28 18:57

看了一下网上面的例子都是Jeremiah写的0.9.9a的一个MFC对话框的例子,详见http://jeremiah.blog.51cto.com/539865/d-1。现在1.1.7很多函数的接口都不一样了。

 

官网上给的是linux的例子,http://wiki.videolan.org/LibVLC_Tutorial。很多同学不懂得随机应变,给了linux的例子就不懂得怎么在VS2008下面编译。

 

1. 安装VLC播放器,在播放器的路径下面拷贝libvlc.dll和libvlccore.dll到C:/Program Files/Microsoft Visual Studio 9.0/VC/bin目录下,然后运行vcvar32.bat,配置环境变量,接下来运行dumpbin /exports libvlc.dll > libvlc.def生成def文件,编辑该文件如下形式:

[cpp] view plaincopy
  1. EXPORTS  
  2. libvlc_add_intf  
  3. libvlc_audio_get_channel  
  4. libvlc_audio_get_delay  
  5. libvlc_audio_get_mute  
  6. libvlc_audio_get_track  
  7. libvlc_audio_get_track_count  
  8. libvlc_audio_get_track_description  
  9. libvlc_audio_get_volume  
  10. ...  
 

然后运行lib /def:libvlc.def /machine:i386 /out:libvlc.lib。

同理可得libvlccore.lib。

 

2. 在VC中新建一个控制台的程序,将生成的所有文件拷贝到工程目录下,同时将VLC播放器下libvlc、libvlccore.dll和plugins目录也拷贝到工程的Debug目录下。

 

3. 在工程中添加一个test.cpp文件,输入:

[c-sharp] view plaincopy
  1. #include <stdio.h>  
  2. #include <stdlib.h>  
  3. #include <vlc/vlc.h>  
  4. #pragma comment(lib, "libvlc.lib")  
  5. #pragma comment(lib, "libvlccore.lib")  
  6.    
  7.  int main(int argc, char* argv[])  
  8.  {  
  9.      libvlc_instance_t * inst;  
  10.      libvlc_media_player_t *mp;  
  11.      libvlc_media_t *m;  
  12.        
  13.      /* Load the VLC engine */  
  14.      inst = libvlc_new (0, NULL);  
  15.     
  16.      /* Create a new item */  
  17.      m = libvlc_media_new_path (inst, "http://mycool.movie.com/test.mov");  
  18.           
  19.      /* Create a media player playing environement */  
  20.      mp = libvlc_media_player_new_from_media (m);  
  21.        
  22.      /* No need to keep the media now */  
  23.      libvlc_media_release (m);  
  24.    
  25.       libvlc_media_player_set_hwnd (mp, NULL);  
  26.    
  27.      /* play the media_player */  
  28.      libvlc_media_player_play (mp);  
  29.       
  30.      sleep (10); /* Let it play a bit */  
  31.       
  32.      /* Stop playing */  
  33.      libvlc_media_player_stop (mp);  
  34.    
  35.      /* Free the media_player */  
  36.      libvlc_media_player_release (mp);  
  37.    
  38.      libvlc_release (inst);  
  39.    
  40.      return 0;  
  41.  }  
 

编译,运行就OK了。

原创粉丝点击