~dangarner/xibo/107-client

« back to all changes in this revision

Viewing changes to client/dotNET/Video.cs

  • Committer: Daniel Garner
  • Date: 2009-12-31 11:16:07 UTC
  • mfrom: (81.1.12 105-client-test)
  • Revision ID: dan@xibo.org.uk-20091231111607-b547kt1lm9jtlczk
MergedĀ lp:~dangarner/xibo/105-client-test

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
            videoPlayer.Height = options.height;
39
39
            videoPlayer.Location = new System.Drawing.Point(0, 0);
40
40
 
41
 
            videoPlayer.VideoPlayerElapsedEvent += new VideoPlayer.VideoPlayerElapsed(videoPlayer_VideoPlayerElapsedEvent);
42
 
 
43
 
            Controls.Add(videoPlayer);
44
 
        }
45
 
 
46
 
        void videoPlayer_VideoPlayerElapsedEvent()
47
 
        {
48
 
            Hide();
49
 
            videoPlayer.Hide();
50
 
 
51
 
            // Time is up
52
 
            SignalElapsedEvent();
 
41
            this.Controls.Add(videoPlayer);
53
42
        }
54
43
 
55
44
        public override void RenderMedia()
56
45
        {
 
46
            if (duration == 0)
 
47
            {
 
48
                // Determine the end time ourselves
 
49
                base.Duration = 1; //check every second
 
50
            }
 
51
 
 
52
            base.RenderMedia();
 
53
 
 
54
            videoPlayer.Show();
 
55
 
57
56
            try 
58
57
            {
59
58
                videoPlayer.StartPlayer(filePath);
60
59
            }
61
60
            catch (Exception ex)
62
61
            {
63
 
                System.Diagnostics.Trace.WriteLine(ex.Message);
64
 
                SignalElapsedEvent();
 
62
                System.Diagnostics.Debug.WriteLine(ex.Message);
65
63
                return;
66
64
            }
67
 
 
68
 
            // Do we start a timer?
69
 
            if (duration != 0)
70
 
            {
71
 
                base.RenderMedia();
72
 
            }
73
 
 
74
 
            // Add and show the control
75
 
            Show();
76
 
            videoPlayer.Show();
77
 
            Application.DoEvents();
 
65
        }
 
66
 
 
67
        protected override void timer_Tick(object sender, EventArgs e)
 
68
        {
 
69
            if (duration == 0)
 
70
            {
 
71
                   // Has the video finished playing
 
72
                if (videoPlayer.FinishedPlaying)
 
73
                {
 
74
                    // Raise the expired tick which will clear this media
 
75
                    base.timer_Tick(sender, e);
 
76
                }
 
77
            }
 
78
            else
 
79
            {
 
80
                // Our user defined timer duration has expired - so raise the base timer tick which will clear this media
 
81
                base.timer_Tick(sender, e);
 
82
            }
 
83
 
 
84
            return;
78
85
        }
79
86
 
80
87
        protected override void Dispose(bool disposing)
81
88
        {
82
89
            if (disposing)
83
90
            {
84
 
                // Dispose of managed resources
 
91
               
85
92
            }
86
 
            
87
 
            // Unmanaged resources
88
 
            Controls.Remove(videoPlayer);
89
93
 
90
94
            try
91
95
            {
92
96
                videoPlayer.Hide();
 
97
                Controls.Remove(videoPlayer);
93
98
                videoPlayer.Dispose();
94
99
            }
95
100
            catch
96
101
            {
97
 
                System.Diagnostics.Debug.WriteLine("Unable to dispose of video player", "Dispose");
 
102
 
98
103
            }
99
104
 
100
105
            base.Dispose(disposing);