internal LibVlc.libvlc_media_stats_t GetStats() { LibVlc.libvlc_media_stats_t stats = new LibVlc.libvlc_media_stats_t(); LibVlc.libvlc_media_get_stats(Handle, ref stats); return(stats); }
public void Stop() { LibVlc.libvlc_media_player_stop(Handle); playing = false; paused = false; }
public VlcMedia(VlcInstance instance, string url) { Handle = LibVlc.libvlc_media_new_path(instance.Handle, url); //LibVlc.libvlc_media_new_location(instance.Handle, url); if (Handle == IntPtr.Zero) { throw new VlcException(); } }
public void SetCropGeometry(int left, int top, int width, int height) { // psz_geometry is undocumented // see: https://forum.videolan.org/viewtopic.php?f=32&t=78702, https://forum.videolan.org/viewtopic.php?f=32&t=112281 // right x bottom + left + top works :) LibVlc.libvlc_video_set_crop_geometry(Handle, String.Format("{0}x{1}+{2}+{3}", left + width, top + height, left, top)); }
public VlcInstance(string[] args) { Handle = LibVlc.libvlc_new(args.Length, args); if (Handle == IntPtr.Zero) { throw new VlcException(); } }
public VlcException() : base() { IntPtr errorPointer = LibVlc.libvlc_errmsg(); _err = errorPointer == IntPtr.Zero ? "VLC Exception" : Marshal.PtrToStringAuto(errorPointer); }
public VlcMediaPlayer(VlcMedia media) { Handle = LibVlc.libvlc_media_player_new_from_media(media.Handle); if (Handle == IntPtr.Zero) { throw new VlcException(); } eventManager = LibVlc.libvlc_media_player_event_manager(Handle); }
public void Pause() { LibVlc.libvlc_media_player_pause(Handle); if (playing) { paused ^= true; } }
public void Play() { int ret = LibVlc.libvlc_media_player_play(Handle); if (ret == -1) { throw new VlcException(); } playing = true; paused = false; }
public System.Drawing.Size GetSize() { uint w, h; if (LibVlc.libvlc_video_get_size(Handle, 0, out w, out h) == 0) { return(new System.Drawing.Size((int)w, (int)h)); } else { return(new System.Drawing.Size(0, 0)); } }
public void ToggleFullscreen() { LibVlc.libvlc_set_fullscreen(Handle, 1); }
public void SetLogoInt(uint option, int value) { LibVlc.libvlc_video_set_logo_int(Handle, option, value); }
public void SetLogoString(string value) { LibVlc.libvlc_video_set_logo_string(Handle, 1, value); }
public void Dispose() { LibVlc.libvlc_release(Handle); }
public void UnSetCropGeometry() { LibVlc.libvlc_video_set_crop_geometry(Handle, null); }
public void EventAttach(LibVlc.libvlc_event_e eventType, LibVlc.EventCallbackDelegate callbackDelegate) { LibVlc.libvlc_event_attach(eventManager, eventType, callbackDelegate, IntPtr.Zero); }
public static string GetLibVlcVersion() { IntPtr libVlcVersion = LibVlc.libvlc_get_version(); return(Marshal.PtrToStringAnsi(libVlcVersion)); }
public void Dispose() { LibVlc.libvlc_media_player_release(Handle); }