usingSystem;usingSystem.Runtime.InteropServices;usingSystem.Security;usingSystem.Text;namespaceVlcPlayer
{public classVlcPlayerBase
{privateIntPtr libvlc_instance_;privateIntPtr libvlc_media_player_;///
///视频时长///
private doubleduration_;///
///VLC 播放器。///
///
public VlcPlayerBase(stringpluginPath)
{//string pluginPath = Environment.CurrentDirectory + "\\vlc\\plugins\\";//插件目录
string plugin_arg = "--plugin-path=" +pluginPath;string[] arguments = { "-I", "dummy", "--ignore-config", "--no-video-title", plugin_arg };
libvlc_instance_=LibVlcAPI.libvlc_new(arguments);
libvlc_media_player_= LibVlcAPI.libvlc_media_player_new(libvlc_instance_); //创建 libvlc_media_player 播放核心
}///
///设置播放容器///
/// 播放容器句柄
public void SetRenderWindow(intwndHandle)
{if (libvlc_instance_ != IntPtr.Zero && wndHandle != 0)
{
LibVlcAPI.libvlc_media_player_set_hwnd(libvlc_media_player_, wndHandle);//设置播放容器
}
}///
///播放指定媒体文件///
///
public void LoadFile(stringfilePath)
{
IntPtr libvlc_media= LibVlcAPI.libvlc_media_new_path(libvlc_instance_, filePath); //创建 libvlc_media_player 播放核心
if (libvlc_media !=IntPtr.Zero)
{
LibVlcAPI.libvlc_media_parse(libvlc_media);
duration_= LibVlcAPI.libvlc_media_get_duration(libvlc_media) / 1000.0; //获取视频时长
LibVlcAPI.libvlc_media_player_set_media(libvlc_media_player_, libvlc_media);//将视频绑定到播放器去
LibVlcAPI.libvlc_media_release(libvlc_media);//LibVlcAPI.libvlc_media_player_play(libvlc_media_player_);//播放
}
}///
///播放///
public voidPlay()
{if (libvlc_media_player_ !=IntPtr.Zero)
{
LibVlcAPI.libvlc_media_player_play(libvlc_media_player_);
}
}///
///暂停播放///
public voidPause()
{if (libvlc_media_player_ !=IntPtr.Zero)
{
LibVlcAPI.libvlc_media_player_pause(libvlc_media_player_);
}
}///
///停止播放///
public voidStop()
{if (libvlc_media_player_ !=IntPtr.Zero)
{
LibVlcAPI.libvlc_media_player_stop(libvlc_media_player_);
}
}public voidRelease()
{if (libvlc_media_player_ !=IntPtr.Zero)
{
LibVlcAPI.libvlc_media_release(libvlc_media_player_);
}
}///
///获取播放时间进度///
///