public static void Main(string[] args) { Core.Initialize(); Application.Init(); using (var libvlc = new LibVLC()) { MainWindow win = new MainWindow(); win.Fullscreen(); var size = win.GetDisplaySize(); HBox hbox = new HBox(); hbox.HeightRequest = size.Height; // Creates the video view, and adds it to the window var mp = new MediaPlayer(libvlc); VideoView videoView = new VideoView { MediaPlayer = mp }; hbox.PackStart(videoView); hbox.Children[0].WidthRequest = (int)(size.Width * 0.8); hbox.Children[0].HeightRequest = size.Height; win.Add(hbox); win.ShowAll(); string basePath = Environment.CurrentDirectory + "/../../Media/"; var playList = new List <string>() { basePath + "SampleVideo_1280x720_1mb.mp4", basePath + "SampleVideo_1280x720_2mb.mp4" }; MediaList mediList = new MediaList(libvlc); foreach (var movie in playList) { var media = new Media(libvlc, movie, FromType.FromPath); mediList.AddMedia(media); } var mlp = new MediaListPlayer(libvlc); mlp.SetMediaList(mediList); mlp.SetMediaPlayer(mp); mlp.Play(); win.DeleteEvent += (sender, a) => { mp.Stop(); videoView.Dispose(); Application.Quit(); a.RetVal = true; }; Application.Run(); } }
/** * Construct a media list player component. */ public AudioMediaListPlayerComponent() { // Create the native resources MediaPlayerFactory mediaPlayerFactory = GetMediaPlayerFactory(); mediaListPlayer = mediaPlayerFactory.NewMediaListPlayer(); mediaList = mediaPlayerFactory.NewMediaList(); mediaListPlayer.SetMediaList(mediaList); mediaListPlayer.SetMediaPlayer(GetMediaPlayer()); // Register listeners mediaListPlayer.AddMediaListPlayerEventListener(this); // Sub-class initialisation OnAfterConstruct(); }
/** * Create a media player event. * * @param mediaListPlayer media player the event relates to * @param metaType meta data type * @param mrl media resource locator */ protected internal MediaListPlayerNextItemSetEvent(MediaListPlayer mediaListPlayer, IntPtr item, string mrl) : base(mediaListPlayer) { this.item = item; this.mrl = mrl; }
/** * Create a media list player event. * * @param mediaPlayer media list player the event relates to * @param metaType meta data type */ protected internal MediaListMediaMetaChangedEvent(MediaListPlayer mediaListPlayer, int metaType) : base(mediaListPlayer) { this.metaType = metaType; }
// === Events relating to the media player ================================== public void Played(MediaListPlayer mediaListPlayer) { }
/** * Create a media player event factory. * * @param mediaPlayer media list player to create events for */ public MediaListPlayerEventFactory(MediaListPlayer mediaPlayer) { this.mediaListPlayer = mediaPlayer; }
public virtual void MediaStateChanged(MediaListPlayer mediaListPlayer, int newState) { }
public virtual void MediaSubItemAdded(MediaListPlayer mediaListPlayer, IntPtr subItem) { }
// === MediaListPlayerEventListener ========================================= public virtual void Played(MediaListPlayer mediaListPlayer) { }
/** * Create a media list player event. * * @param mediaListPlayer media list player the event relates to * @param newState state */ protected internal MediaListMediaStateChangedEvent(MediaListPlayer mediaListPlayer, int newState) : base(mediaListPlayer) { this.newState = newState; }
/** * Create a media list player event. * * @param mediaListPlayer media list player the event relates to * @param newDuration duration */ protected internal MediaListMediaParsedChangedEvent(MediaListPlayer mediaListPlayer, int newStatus) : base(mediaListPlayer) { this.newStatus = newStatus; }
public virtual void Stopped(MediaListPlayer mediaListPlayer) { }
/** * Create a media list player event. * * @param mediaListPlayer media list player the event relates to * @param newDuration duration */ protected internal MediaListMediaDurationChangedEvent(MediaListPlayer mediaListPlayer, long newDuration) : base(mediaListPlayer) { this.newDuration = newDuration; }
public virtual void MediaParsedChanged(MediaListPlayer mediaListPlayer, int newStatus) { }
public void NextItem(MediaListPlayer mediaListPlayer, IntPtr item, string itemMrl) { }
/** * Create a media list player event. * * @param mediaListPlayer media list player the event relates to */ protected internal MediaListMediaFreedEvent(MediaListPlayer mediaListPlayer) : base(mediaListPlayer) { }
public void Stopped(MediaListPlayer mediaListPlayer) { }
// === Events relating to the current media ================================= public void MediaMetaChanged(MediaListPlayer mediaListPlayer, int metaType) { }
/** * Create a media list player event. * * @param mediaListPlayer media list player the event relates to * @param subItem item added */ protected internal MediaListMediaSubItemAddedEvent(MediaListPlayer mediaListPlayer, IntPtr subItem) : base(mediaListPlayer) { this.subItem = subItem; }
public void MediaSubItemAdded(MediaListPlayer mediaListPlayer, IntPtr subItem) { }
public void MediaDurationChanged(MediaListPlayer mediaListPlayer, long newDuration) { }
public void MediaParsedChanged(MediaListPlayer mediaListPlayer, int newStatus) { }
public virtual void NextItem(MediaListPlayer mediaListPlayer, IntPtr item, string itemMrl) { }
public void MediaFreed(MediaListPlayer mediaListPlayer) { }
public virtual void MediaMetaChanged(MediaListPlayer mediaListPlayer, int metaType) { }
public void MediaStateChanged(MediaListPlayer mediaListPlayer, int newState) { }
public virtual void MediaDurationChanged(MediaListPlayer mediaListPlayer, long newDuration) { }
public virtual void MediaFreed(MediaListPlayer mediaListPlayer) { }
/** * Create a media player event. * * @param mediaListPlayer media player that the event relates to */ protected AbstractMediaListPlayerEvent(MediaListPlayer mediaListPlayer) { this.mediaListPlayer = mediaListPlayer; }