VLC's C + + package
Because of the work needs, research for a period of time the development of the player, if you start from scratch, you can learn the next ffmpeg (http://www.ffmpeg.org/), many players are based on ffmpeg development, but this workload and difficulty are relatively large, If you want to quickly come up with a player to use, you can study the open source of the player, refer to the next shooter player author's article: Media Player three bottom structure.
Compare the existing mainstream player: the Media Player list , VLC is a very prominent in all aspects of the performance. VLC is a free, free, open source cross-platform multimedia player and framework that plays most multimedia files, DVDs, audio CDs, VCD, and various streaming media protocols. VLC official website: http://www.videolan.org/.
VLC is developed under Linux in the C language, if you want to use its interface, you can use C + + to encapsulate the interface, so that a lot of convenience, in the CodeProject on the search for a C + + package, on his basis added a point function, Using the latest VLC version (2.1.0), MFC made the following appearance:
Main implementation Features:
1. Open: Load audio and video files (start playing at the same time).
2. Play/pause: Play pause file playback.
3, STOP: Stop playback.
4, Fast forward: Fast forward 5 seconds.
5, Rewind: back 5 seconds.
6, Volume: Volume Adjustment (0--100).
7, Play Progress control: Use the progress bar control.
Basically realize the function and CodeProject on the same demo, I modified can play network streaming media, the loaded file name is changed to the streaming media address on it. Playing the above bilingual subtitle file appears to be unable to display Chinese correctly, VLC player itself has this problem, but can be set to modify. Other more features have yet to be researched, VLC interface annotations are very detailed, according to its interface should be able to achieve more functions, there are problems can also be directly posted on the VideoLAN forum Q: https://forum.videolan.org/.
The main problem: the runtime needs to rely on the VLC Plugins directory DLL (66M size) Too many, some DLLs are not used, if encapsulated into ActiveX to the web down, packaged cab will be larger, need to crop ...
Main reference articles:
1, HTTP://WWW.CODEPROJECT.COM/ARTICLES/38952/VLCWRAPPER-A-LITTLE-C-WRAPPER-AROUND-LIBVLC
2, http://www.cnblogs.com/Alberl/archive/2013/11/04.html
VLC's C # package
If the player client is using the. NET development, how to use VLC? There are several ways to do this:
1. ActiveX Controls: You can encapsulate the MFC player above as an ActiveX control for a C # call. In view of the limited spare time, this part of the work has not yet been done.
2, use. NET PInvoke technology will be VLC C interface encapsulated into C # interface, this aspect of the online article is also a lot, specific reference to the following articles:
LIBVLC Media Player in C # (Part 1)
http://www.helyar.net/2009/libvlc-media-player-in-c/
LIBVLC Media Player in C # (Part 2)
http://www.helyar.net/2009/libvlc-media-player-in-c-part-2/
VideoLan DotNet for WinForm, WPF & Silverlight 5
https://vlcdotnet.codeplex.com/
Nvlc
Http://www.codeproject.com/Articles/109639/nVLC
C # Universal Video player
Http://www.cnblogs.com/haibindev/archive/2011/12/21/2296173.html
There is also an android under the VLC player development:
Http://www.cnblogs.com/mythou/p/3235698.html
SOURCE download
VLC-based MFC player download: http://download.csdn.net/detail/luxiaoxun/6671339
Development of player based on VLC