예제 #1
1
        internal VlcMediaPlayer(VlcManager manager, string[] options)
        {
            Manager = manager;
            Manager.CreateNewInstance(options);

            myMediaPlayerInstance = manager.CreateMediaPlayer();
            RegisterEvents();
            Chapters = new ChapterManagement(manager, myMediaPlayerInstance);
            SubTitles = new SubTitlesManagement(manager, myMediaPlayerInstance);
            Video = new VideoManagement(manager, myMediaPlayerInstance);
            Audio = new AudioManagement(manager, myMediaPlayerInstance);
        }
예제 #2
0
 internal AudioManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager     = manager;
     myMediaPlayer = mediaPlayerInstance;
     Outputs       = new AudioOutputsManagement(manager, mediaPlayerInstance);
     Tracks        = new AudioTracksManagement(manager, mediaPlayerInstance);
 }
 internal AudioOutputDevice(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance, AudioOutputDescription audioDescription, int id)
 {
     myManager = manager;
     myMediaPlayerInstance = mediaPlayerInstance;
     myAudioOutputDescription = audioDescription;
     Id = id;
 }
 internal AudioManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager = manager;
     myMediaPlayer = mediaPlayerInstance;
     Outputs = new AudioOutputsManagement(manager, mediaPlayerInstance);
     Tracks = new AudioTracksManagement(manager, mediaPlayerInstance);
 }
예제 #5
0
 internal AudioOutputDevice(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance, AudioOutputDescription audioDescription, int id)
 {
     myManager                = manager;
     myMediaPlayerInstance    = mediaPlayerInstance;
     myAudioOutputDescription = audioDescription;
     Id = id;
 }
예제 #6
0
 internal AudioOutputDescription(string name, string description, VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     Name                  = name;
     Description           = description;
     myManager             = manager;
     myMediaPlayerInstance = mediaPlayerInstance;
     Devices               = new AudioOutputDevices(this, manager, myMediaPlayerInstance);
 }
예제 #7
0
 internal AudioOutputDescription(string name, string description, VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     Name = name;
     Description = description;
     myManager = manager;
     myMediaPlayerInstance = mediaPlayerInstance;
     Devices = new AudioOutputDevices(this, manager, myMediaPlayerInstance);
 }
예제 #8
0
 public VideoManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager     = manager;
     myMediaPlayer = mediaPlayerInstance;
     Tracks        = new VideoTracksManagement(manager, mediaPlayerInstance);
     Marquee       = new MarqueeManagement(manager, mediaPlayerInstance);
     Logo          = new LogoManagement(manager, mediaPlayerInstance);
     Adjustments   = new AdjustmentsManagement(manager, mediaPlayerInstance);
 }
 public VideoManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager = manager;
     myMediaPlayer = mediaPlayerInstance;
     Tracks = new VideoTracksManagement(manager, mediaPlayerInstance);
     Marquee = new MarqueeManagement(manager, mediaPlayerInstance);
     Logo = new LogoManagement(manager, mediaPlayerInstance);
     Adjustments = new AdjustmentsManagement(manager, mediaPlayerInstance);
 }
예제 #10
0
        private void barButtonItemAbout_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            VlcManager mgr = vlcControl7.VlcMediaPlayer.Manager;

            AboutForm form = new AboutForm();

            form.VlcVersion      = mgr.VlcVersion;
            form.VlcLibDirectory = vlcControl7.VlcLibDirectory.FullName;
            form.ShowDialog(this);
        }
예제 #11
0
 internal static List<AudioOutputDescription> GetSubOutputDescription(AudioOutputDescriptionStructure module, VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     var result = new List<AudioOutputDescription>();
     result.Add(new AudioOutputDescription(module.Name, module.Description, manager, mediaPlayerInstance));
     if (module.NextAudioOutputDescription != IntPtr.Zero)
     {
         AudioOutputDescriptionStructure nextModule = (AudioOutputDescriptionStructure)Marshal.PtrToStructure(module.NextAudioOutputDescription, typeof(AudioOutputDescriptionStructure));
         var data = GetSubOutputDescription(nextModule, manager, mediaPlayerInstance);
         result.AddRange(data);
     }
     return result;
 }
예제 #12
0
        internal VlcMediaPlayer(VlcManager manager, string[] options)
        {
            Manager = manager;
            Manager.CreateNewInstance(options);

            myMediaPlayerInstance = manager.CreateMediaPlayer();
            RegisterEvents();
            Chapters  = new ChapterManagement(manager, myMediaPlayerInstance);
            SubTitles = new SubTitlesManagement(manager, myMediaPlayerInstance);
            Video     = new VideoManagement(manager, myMediaPlayerInstance);
            Audio     = new AudioManagement(manager, myMediaPlayerInstance);
        }
예제 #13
0
        public override void OnApplyTemplate()
        {
            var host = Template.FindName("WFH", this) as WindowsFormsHost;
            var box  = Template.FindName("PnlBox", this) as Panel;

            if (host != null && box != null)
            {
                if (Manager == null)
                {
                    Manager = new VlcManager();
                }
                Manager.ControlHandle = box.Handle;
            }
        }
예제 #14
0
파일: VlcControl.cs 프로젝트: ch4/vlcdotnet
 /// <summary>
 /// Constructor of VlcControl
 /// </summary>
 public VlcControl()
 {
     BackColor = Color.Black;
     if(DesignMode)
         return;
     Manager = new VlcManager();
     try
     {
         CreateHandle();
         Manager.ControlHandle = Handle;
         Manager.VlcLibPath = Path.GetDirectoryName(Application.ExecutablePath);
     }
     catch (Exception)
     {
         return;
     }
 }
예제 #15
0
 internal VlcMediaPlayer(VlcManager manager)
 {
     Manager = manager;
     #if DEBUG
     Manager.CreateNewInstance(new[]
     {
         "--extraintf=logger",
         "--verbose=2"
     });
     #else
     Manager.CreateNewInstance(null);
     #endif
     myMediaPlayerInstance = manager.CreateMediaPlayer();
     RegisterEvents();
     Chapters = new ChapterManagement(manager, myMediaPlayerInstance);
     SubTitles = new SubTitlesManagement(manager, myMediaPlayerInstance);
     Video = new VideoManagement(manager, myMediaPlayerInstance);
     Audio = new AudioManagement(manager, myMediaPlayerInstance);
 }
예제 #16
0
        internal VlcMediaPlayer(VlcManager manager)
        {
            Manager = manager;
#if DEBUG
            Manager.CreateNewInstance(new[]
            {
                "--extraintf=logger",
                "--verbose=2"
            });
#else
            Manager.CreateNewInstance(new[]
            {
                "--quiet"
            });
#endif
            myMediaPlayerInstance = manager.CreateMediaPlayer();
            RegisterEvents();
            Chapters  = new ChapterManagement(manager, myMediaPlayerInstance);
            SubTitles = new SubTitlesManagement(manager, myMediaPlayerInstance);
            Video     = new VideoManagement(manager, myMediaPlayerInstance);
            Audio     = new AudioManagement(manager, myMediaPlayerInstance);
        }
예제 #17
0
        internal VlcMediaPlayer(VlcManager manager)
        {
            Manager = manager;
            // SUR: Configure VLC options at startup
            Manager.CreateNewInstance(new string[]
            {
#if DEBUG_TODO
                "--extraintf=logger",
                "--verbose=2",
#else
                "--quiet",
#endif
                //"--play-and-pause",   // NOTE: SUR: Pauses at end of video
            });

            _myMediaPlayerInstance = manager.CreateMediaPlayer();
            RegisterEvents();
            Chapters  = new ChapterManagement(manager, _myMediaPlayerInstance);
            SubTitles = new SubTitlesManagement(manager, _myMediaPlayerInstance);
            Video     = new VideoManagement(manager, _myMediaPlayerInstance);
            Audio     = new AudioManagement(manager, _myMediaPlayerInstance);
        }
예제 #18
0
 internal AudioOutputDevices(AudioOutputDescription audioOutputDescription, VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myAudioOutputDescription = audioOutputDescription;
     myManager             = manager;
     myMediaPlayerInstance = mediaPlayerInstance;
 }
예제 #19
0
 public MarqueeManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager     = manager;
     myMediaPlayer = mediaPlayerInstance;
 }
예제 #20
0
 public SubTitlesManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager     = manager;
     myMediaPlayer = mediaPlayerInstance;
 }
예제 #21
0
 internal AudioOutputsManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager = manager;
     myMediaPlayerInstance = mediaPlayerInstance;
 }
예제 #22
0
 public VlcMediaPlayer(DirectoryInfo vlcLibDirectory)
     : this(VlcManager.GetInstance(vlcLibDirectory))
 {
 }
예제 #23
0
        internal static List <AudioOutputDescription> GetSubOutputDescription(AudioOutputDescriptionStructure module, VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
        {
            var result = new List <AudioOutputDescription>();

            result.Add(new AudioOutputDescription(module.Name, module.Description, manager, mediaPlayerInstance));
            if (module.NextAudioOutputDescription != IntPtr.Zero)
            {
#if NET20 || NET35 || NET40 || NET45
                var nextModule = (AudioOutputDescriptionStructure)Marshal.PtrToStructure(module.NextAudioOutputDescription, typeof(AudioOutputDescriptionStructure));
#else
                var nextModule = Marshal.PtrToStructure <AudioOutputDescriptionStructure>(module.NextAudioOutputDescription);
#endif
                var data = GetSubOutputDescription(nextModule, manager, mediaPlayerInstance);
                result.AddRange(data);
            }
            return(result);
        }
 public AdjustmentsManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager = manager;
     myMediaPlayer = mediaPlayerInstance;
 }
예제 #25
0
 public AdjustmentsManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     _myManager     = manager;
     _myMediaPlayer = mediaPlayerInstance;
 }
예제 #26
0
 public static VlcMediaInstance AddOptionToMedia(VlcMediaInstance mediaInstance, VlcManager manager, string option)
 public LogoManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager = manager;
     myMediaPlayer = mediaPlayerInstance;
 }
예제 #28
0
 public VlcMediaPlayer(DirectoryInfo vlcLibDirectory, string[] options)
     : this(VlcManager.GetInstance(vlcLibDirectory), options)
 {
 }
예제 #29
0
        public static VlcMediaInstance AddOptionToMedia(this VlcMediaInstance mediaInstance, VlcManager manager, string option)
#endif
        {
            manager.AddOptionToMedia(mediaInstance, option);
            return(mediaInstance);
        }
예제 #30
0
 internal VideoTracksManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager = manager;
     myMediaPlayer = mediaPlayerInstance;
 }
예제 #31
0
 internal AudioOutputsManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager             = manager;
     myMediaPlayerInstance = mediaPlayerInstance;
 }
예제 #32
0
 internal VideoTracksManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager     = manager;
     myMediaPlayer = mediaPlayerInstance;
 }
예제 #33
0
        public void Play(MediaBase media)
        {
            if (DesignMode)
                return;

            //Initialize a default VlcManager
            if (myVlcManager == null)
                myVlcManager = new VlcManager();
            InitVlcMediaPlayer();
            if (media.Initialize(myVlcManager.VlcClient) == IntPtr.Zero)
                return;

            LibVlcMethods.libvlc_media_player_set_media(VlcMediaPlayer, media.VlcMedia);
            LibVlcMethods.libvlc_media_player_play(VlcMediaPlayer);
        }
예제 #34
0
 public ChapterManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager     = manager;
     myMediaPlayer = mediaPlayerInstance;
 }