Beispiel #1
0
        private async void btStart_Click(object sender, EventArgs e)
        {
            if (lbSourceFiles.Items.Count < 2)
            {
                MessageBox.Show("You must add 2 or more files to test seamless playback.");
                return;
            }

            InitPlayer(MediaPlayer1);
            InitPlayer(MediaPlayer2);

            foreach (var item in lbSourceFiles.Items)
            {
                sourceFiles.Add(item.ToString());
            }

            CurrentPlayer = MediaPlayer1;

            VideoView1.Show();
            VideoView2.Hide();

            await PlayFileAsync(sourceFiles[0], MediaPlayer1);

            sourceFiles.RemoveAt(0);

            await PlayFileAsync(sourceFiles[0], MediaPlayer2);

            sourceFiles.RemoveAt(0);

            await MediaPlayer2.PauseAsync();
        }
Beispiel #2
0
 private void CreateEngine()
 {
     MediaPlayer1                     = new MediaPlayerCore(VideoView1 as IVideoView);
     MediaPlayer1.OnError            += MediaPlayer1_OnError;
     MediaPlayer1.OnDVDPlaybackError += MediaPlayer1_OnDVDPlaybackError;
     MediaPlayer1.OnStop             += MediaPlayer1_OnStop;
 }
Beispiel #3
0
        private void Form1_Load(object sender, EventArgs e)
        {
            VideoCapture1 = new VideoCaptureCore(VideoCaptureView as IVideoView);
            VideoCapture1.OnVideoFrameBuffer += VideoCapture1_OnVideoFrameBuffer;
            VideoCapture1.OnError            += VideoCapture1_OnError;

            MediaPlayer1 = new MediaPlayerCore(MediaPlayerView as IVideoView);
            MediaPlayer1.OnVideoFrameBuffer += MediaPlayer1_OnVideoFrameBuffer;
            MediaPlayer1.OnError            += MediaPlayer1_OnError;

            Text += " (SDK v" + VideoCapture1.SDK_Version + ")";

            foreach (var device in VideoCapture1.Video_CaptureDevices)
            {
                cbVideoInputDevice.Items.Add(device.Name);
            }

            if (cbVideoInputDevice.Items.Count > 0)
            {
                cbVideoInputDevice.SelectedIndex = 0;
                cbVideoInputDevice_SelectedIndexChanged(null, null);
            }

            cbIPCameraType.SelectedIndex = 0;
        }
Beispiel #4
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            timer1.Tag         = 1;
            tbTimeline.Maximum = (int)(MediaPlayer1.Duration_Time() / 1000);

            var positionMS = MediaPlayer1.Position_Get_Time();

            int value = (int)(positionMS / 1000);

            if ((value > 0) && (value < tbTimeline.Maximum))
            {
                tbTimeline.Value = value;
            }

            lbTime.Text = MediaPlayerCore.Helpful_SecondsToTimeFormatted(tbTimeline.Value) + "/" + MediaPlayerCore.Helpful_SecondsToTimeFormatted(tbTimeline.Maximum);

            if (cdg != null)
            {
                if (cdg.renderAtPosition(positionMS))
                {
                    imgScreen.Image = cdg.RGBImage();
                }
            }

            timer1.Tag = 0;
        }
Beispiel #5
0
        private void DestroyEngine()
        {
            MediaPlayer1.OnError -= MediaPlayer1_OnError;

            MediaPlayer1.Dispose();
            MediaPlayer1 = null;
        }
Beispiel #6
0
        public Form1()
        {
            MediaPlayer1          = new MediaPlayerCore();
            MediaPlayer1.OnError += MediaPlayer1_OnError;
            MediaPlayer1.OnStop  += MediaPlayer1_OnStop;

            InitializeComponent();
        }
Beispiel #7
0
        private void DestroyEngine2()
        {
            MediaPlayer2.OnError -= MediaPlayer_OnError;
            MediaPlayer2.OnStop  -= MediaPlayer2_OnStop;

            MediaPlayer2.Dispose();
            MediaPlayer2 = null;
        }
Beispiel #8
0
        private void Form1_Load(object sender, EventArgs e)
        {
            MediaPlayer1          = new MediaPlayerCore();
            MediaPlayer1.OnError += MediaPlayer1_OnError;
            MediaPlayer1.OnStop  += MediaPlayer1_OnStop;

            Text += $" (SDK v{MediaPlayer1.SDK_Version()})";
            MediaPlayer1.Debug_Dir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "VisioForge");
        }
Beispiel #9
0
        private void DestroyEngine()
        {
            MediaPlayer1.OnError            -= MediaPlayer1_OnError;
            MediaPlayer1.OnDVDPlaybackError -= MediaPlayer1_OnDVDPlaybackError;
            MediaPlayer1.OnStop             -= MediaPlayer1_OnStop;

            MediaPlayer1.Dispose();
            MediaPlayer1 = null;
        }
Beispiel #10
0
        private async Task PlayFileAsync(string filename, MediaPlayerCore player)
        {
            player.FilenamesOrURL.Clear();
            player.FilenamesOrURL.Add(filename);

            await player.PlayAsync();

            timer1.Enabled = true;
        }
Beispiel #11
0
        private void Form1_Load(object sender, EventArgs e)
        {
            MediaPlayer1                    = new MediaPlayerCore();
            MediaPlayer1.OnError           += MediaPlayer1_OnError;
            MediaPlayer1.OnLicenseRequired += MediaPlayer1_OnLicenseRequired;
            MediaPlayer1.OnStop            += MediaPlayer1_OnStop;

            Text += " (SDK v" + MediaPlayerCore.SDK_Version + ", " + MediaPlayerCore.SDK_State + ")";
            MediaPlayer1.Debug_Dir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\VisioForge\\";
        }
Beispiel #12
0
        public string GenerateNewEffectName(MediaPlayerCore core)
        {
            string name = NAME;

            var eff = core?.Video_Effects_Get(name);

            if (eff != null)
            {
                int k = 2;
                while (eff != null)
                {
                    name = $"{NAME} {k++}";
                    eff  = core.Video_Effects_Get(name);
                }
            }

            return(name);
        }
Beispiel #13
0
        private async void StopDelegateMethod2()
        {
            //timer1.Enabled = false;
            tbTimeline.Value = 0;

            VideoView1.Show();
            VideoView2.Hide();

            CurrentPlayer = MediaPlayer1;
            await MediaPlayer1.ResumeAsync();

            if (sourceFiles.Count > 0)
            {
                await this.PlayFileAsync(sourceFiles[0], MediaPlayer2);

                sourceFiles.RemoveAt(0);
                await MediaPlayer2.PauseAsync();
            }
        }
Beispiel #14
0
        private void InitPlayer(MediaPlayerCore player)
        {
            player.Debug_Mode                 = cbDebugMode.Checked;
            player.Debug_Dir                  = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "VisioForge");
            player.Source_Mode                = MediaPlayerSourceMode.LAV;
            player.Audio_OutputDevice         = "Default DirectSound Device";
            MediaPlayer1.Info_UseLibMediaInfo = true;

            if (FilterHelpers.Filter_Supported_EVR())
            {
                player.Video_Renderer.VideoRenderer = VideoRendererMode.EVR;
            }
            else if (FilterHelpers.Filter_Supported_VMR9())
            {
                player.Video_Renderer.VideoRenderer = VideoRendererMode.VMR9;
            }
            else
            {
                player.Video_Renderer.VideoRenderer = VideoRendererMode.VideoRenderer;
            }
        }
Beispiel #15
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            timer1.Tag         = 1;
            tbTimeline.Maximum = (int)MediaPlayer1.Duration_Time().TotalSeconds;

            if ((MediaPlayer1.Position_Get_Time().TotalSeconds > 0) && (MediaPlayer1.Position_Get_Time().TotalSeconds < tbTimeline.Maximum))
            {
                tbTimeline.Value = (int)MediaPlayer1.Position_Get_Time().TotalSeconds;
            }

            lbTime.Text = MediaPlayerCore.Helpful_SecondsToTimeFormatted(tbTimeline.Value) + "/" + MediaPlayerCore.Helpful_SecondsToTimeFormatted(tbTimeline.Maximum);

            if (cdg != null)
            {
                if (cdg.renderAtPosition((long)MediaPlayer1.Position_Get_Time().TotalMilliseconds))
                {
                    imgScreen.Image = cdg.RGBImage();
                }
            }

            timer1.Tag = 0;
        }
Beispiel #16
0
 private void CreateEngine()
 {
     MediaPlayer1          = new MediaPlayerCore(VideoView1 as IVideoView);
     MediaPlayer1.OnError += MediaPlayer1_OnError;
 }
Beispiel #17
0
 private void CreateEngine2()
 {
     MediaPlayer2          = new MediaPlayerCore(VideoView2 as IVideoView);
     MediaPlayer2.OnError += MediaPlayer_OnError;
     MediaPlayer2.OnStop  += MediaPlayer2_OnStop;
 }