Example #1
0
        public LADSVideoBubble(String filename, double width, double height)
        {
            _filename = filename;
            _video = new MediaElement();
            _controls = new VideoItem();
            _sliderTimer = new DispatcherTimer();
            _preferredSize = new Size(width, height);

            _layoutRoot = new Grid();

            _video.MediaOpened += new RoutedEventHandler(video_MediaOpened);
            _video.MediaEnded += new RoutedEventHandler(video_MediaEnded);
            _video.ScrubbingEnabled = true;
            _video.LoadedBehavior = MediaState.Manual;
            _video.Source = new Uri(_filename, UriKind.RelativeOrAbsolute);

            //fire the MediaOpened event
            _video.Play();
            _video.Pause();

            _controls.HorizontalAlignment = HorizontalAlignment.Center;
            _controls.VerticalAlignment = VerticalAlignment.Center;
            _controls.Hide();

            _controls.playButton.Click += new RoutedEventHandler(playButton_Click);
            _controls.stopButton.Click += new RoutedEventHandler(stopButton_Click);
            _controls.videoSlider.PreviewMouseLeftButtonDown += new MouseButtonEventHandler(videoSlider_PreviewMouseLeftButtonDown);
            _controls.videoSlider.PreviewMouseLeftButtonUp += new MouseButtonEventHandler(videoSlider_PreviewMouseLeftButtonUp);
            _controls.videoSlider.PreviewTouchDown += new System.EventHandler<TouchEventArgs>(videoSlider_PreviewTouchDown);
            _controls.videoSlider.PreviewTouchUp += new System.EventHandler<TouchEventArgs>(videoSlider_PreviewTouchUp);

            _controls.videoSlider.IsMoveToPointEnabled = false;
            _controls.videoSlider.SmallChange = 0;
            _controls.videoSlider.LargeChange = 0;

            _sliderTimer.Interval = new TimeSpan(0, 0, 0, 0, SLIDER_TIMER_RESOLUTION);
            _sliderTimer.Tick += new EventHandler(sliderTimer_Tick);

            _layoutRoot.RowDefinitions.Add(new RowDefinition());
            _layoutRoot.RowDefinitions.Add(new RowDefinition());
            _layoutRoot.RowDefinitions[1].Height = new GridLength(50);
            Grid.SetRow(_controls, 1);
            Grid.SetRow(_video, 0);
            _layoutRoot.Children.Add(_video);

            this.AddChild(_layoutRoot);
            //this.MouseEnter += new MouseEventHandler(VideoBubble_MouseEnter);
            //this.MouseLeave += new MouseEventHandler(VideoBubble_MouseLeave);
            this.SizeChanged += new SizeChangedEventHandler(LADSVideoBubble_SizeChanged);
        }