最近研究FFmpeg,看到用FFmpeg寫的VLC播放器很牛X,我打算學習一下,網上找了很多的資料發現都是在VS IDE基礎上開發的,本人對VS IDE不感冒,因爲一直從事java開發,對eclipse還是很有偏愛的,打算用eclipse來搭建C/C++開發環境。本人其實對C/C++其實也只懂一些皮毛。在搭建過程中遇到過很多的問題。爲了讓初學者在學習的過程中少走彎路,特此寫一下本篇文章。
OS: Windows 7 32位旗艦版
IDE: Eclipse indigo
/*
============================================================================
Name : Demo.c
Author :
Version :
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/
#include <stdio.h>
#include <stdlib.h>
int main( void) {
puts( "!!!Hello World!!!"); /* prints !!!Hello World!!! */
return EXIT_SUCCESS;
}
|
#ifdef __unix__
# include <unistd.h>
#elif defined _WIN32
# include <windows.h>
#define sleep(x) Sleep(1000 * x)
#endif
|
#include <stdio.h>
#include <stdlib.h>
#include <vlc/vlc.h>
#ifdef __unix__
# include <unistd.h>
#elif defined _WIN32
# include <windows.h>
#define sleep(x) Sleep(1000 * x)
#endif
int main (int argc, char* argv[])
{
libvlc_instance_t * inst;
libvlc_media_player_t *mp;
libvlc_media_t *m;
/* Load the VLC engine */
inst = libvlc_new (0, NULL);
/* Create a new item */
//m = libvlc_media_new_location (inst, "E:/test_video/jidu.mp4"); //network video file
m = libvlc_media_new_path (inst, "E:\\test_video\\jidu.mp4"); //local video file
/* Create a media player playing environement */
mp = libvlc_media_player_new_from_media (m);
/* No need to keep the media now */
libvlc_media_release (m);
#if 0
/* This is a non working code that show how to hooks into a window,
* if we have a window around */
libvlc_media_player_set_xwindow (mp, xid);
/* or on windows */
libvlc_media_player_set_hwnd (mp, hwnd);
/* or on mac os */
libvlc_media_player_set_nsobject (mp, view);
#endif
/* play the media_player */
libvlc_media_player_play (mp);
sleep (20); /* Let it play a bit */ //Sleep takes a time in milliseconds;sleep takes a time in seconds.
/* Stop playing */
libvlc_media_player_stop (mp);
/* Free the media_player */
libvlc_media_player_release (mp);
libvlc_release (inst);
return 0;
}
|