Exemplo n.º 1
0
        // Status update event handler
        // Handle movie fullscreen events
        void axQTControl1_StatusUpdateEventHandler(object sender, AxQTOControlLib._IQTControlEvents_StatusUpdateEvent e)
        {
            switch(e.statusCodeType)
            {
                case (int)QTStatusCodeTypesEnum.qtStatusCodeTypeControl:
                {
                    switch (e.statusCode)
                    {
                            // fullscreen begin
                        case (int)QTStatusCodesEnum.qtStatusFullScreenBegin:
                            this.Hide();	// hide movie window
                            break;

                            // fullscreen end
                        case (int)QTStatusCodesEnum.qtStatusFullScreenEnd:
                            axQTControl1.SetScale(1);	// set back to a reasonable size
                            this.Show();	// show movie window again
                            break;
                    }
                }
                break;
            }
        }
Exemplo n.º 2
0
        private void axQTControl1_QTEvent(object sender, AxQTOControlLib._IQTControlEvents_QTEventEvent e)
        {
            // Code to handle various QuickTime Events

            // When running your code in debug mode you will
            // see the following messages displayed in the
            // Immediate Window

            switch (e.eventID)
            {
                // status strings
                case (int)QTEventIDsEnum.qtEventShowStatusStringRequest:
                {
                    string msg = e.eventObject.GetParam(QTEventObjectParametersEnum.qtEventParamStatusString).ToString();
                    Console.WriteLine("qtEventShowStatusStringRequest : " + msg + "\n");
                }
                break;

                // rate changes
                case (int)QTEventIDsEnum.qtEventRateWillChange:
                {
                    string rate = e.eventObject.GetParam(QTEventObjectParametersEnum.qtEventParamMovieRate).ToString();
                    Console.WriteLine("RateWillChange to: " + rate + "\n");
                }
                break;

                // time changes
                case (int)QTEventIDsEnum.qtEventTimeWillChange:
                {
                    string time = e.eventObject.GetParam(QTEventObjectParametersEnum.qtEventParamMovieTime).ToString();
                    Console.WriteLine("TimeWillChange to:" + time + "\n");
                }
                break;

                // audio volume changes
                case (int)QTEventIDsEnum.qtEventAudioVolumeDidChange:
                {
                    string vol = e.eventObject.GetParam(QTEventObjectParametersEnum.qtEventParamAudioVolume).ToString();
                    Console.WriteLine("AudioVolumeDidChange to: " + vol + "\n");
                }
                break;
            }
        }
Exemplo n.º 3
0
        private void axQTControl1_SizeChangedEventHandler(object sender, AxQTOControlLib._IQTControlEvents_SizeChangedEvent e)
        {
            if (m_bManualFormResize) return;

            // resize window to accomodate control
            this.ClientSize = axQTControl1.Size;
        }
        void qtPlayer_QTEvent(object sender, AxQTOControlLib._IQTControlEvents_QTEventEvent e)
        {
            // Code to handle various QuickTime Events

            // When running your code in debug mode you will
            // see the following messages displayed in the
            // Immediate Window

            switch ((QTEventIDsEnum)e.eventID)
            {
                // status strings
                case QTEventIDsEnum.qtEventShowStatusStringRequest:
                    {
                        string msg = e.eventObject.GetParam(QTEventObjectParametersEnum.qtEventParamStatusString).ToString();
                        Logger.Info("qtEventShowStatusStringRequest: " + msg);
                    }
                    break;

                // rate changes
                case QTEventIDsEnum.qtEventRateWillChange:
                    {
                        var rate = (e.eventObject.GetParam(QTEventObjectParametersEnum.qtEventParamMovieRate));
                        int therate = Convert.ToInt16(rate);
                        if (therate > 0)
                        {
                            PlayState = GenericPlayerControl.PlayStates.Playing;
                        }
                        else
                        {
                            PlayState = GenericPlayerControl.PlayStates.Paused;
                        }

                        if (PlayStateChanged != null)
                            PlayStateChanged(sender, new PlayStateChangedEventArgs() { PlayState = PlayState });

                        Logger.Debug("RateWillChange to: " + rate);
                    }
                    break;

                // time changes
                case QTEventIDsEnum.qtEventTimeWillChange:
                    {
                        var time = (int)e.eventObject.GetParam(QTEventObjectParametersEnum.qtEventParamMovieTime);
                        Logger.Debug("TimeWillChange to: " + (double)(time) / qtPlayer.Movie.TimeScale );
                    }
                    break;

                // audio volume changes
                case QTEventIDsEnum.qtEventAudioVolumeDidChange:
                    {
                        string vol = e.eventObject.GetParam(QTEventObjectParametersEnum.qtEventParamAudioVolume).ToString();
                        Logger.Debug("AudioVolumeDidChange to: " + vol);
                    }
                    break;

                case QTEventIDsEnum.qtEventMovieDidEnd:
                    {
                        Logger.Debug("MovieDidEnd");
                        if (PlayStateChanged != null)
                            PlayStateChanged(sender, new PlayStateChangedEventArgs() { PlayState = GenericPlayerControl.PlayStates.Stopped });
                    }
                    break;

                default:
                    {
                        Logger.Debug("Other QT_Event: " + e.eventID);
                        break;
                    }
            }
        }
        private void qtPlayer_StatusUpdate(object sender, AxQTOControlLib._IQTControlEvents_StatusUpdateEvent e)
        {
            Logger.Info("StatusUpdate: " + e.statusMessage);
            // Status update event handler
            // Handle movie fullscreen events

            /*
                qtMovieLoadStateError = -1,
                qtStatusNone = 0,
                qtStatusConnecting = 2,
                qtStatusNegotiating = 5,
                qtStatusRequestedData = 11,
                qtStatusBuffering = 12,
                qtMovieLoadStateLoading = 1000,
                qtMovieLoadStateLoaded = 2000,
                qtStatusURLChanged = 4096,
                qtStatusFullScreenBegin = 4097,
                qtStatusFullScreenEnd = 4098,
                qtStatusMovieLoadFinalize = 4099,
                qtMovieLoadStatePlayable = 10000,
                qtMovieLoadStatePlaythroughOK = 20000,
                qtMovieLoadStateComplete = 100000,
            */

            switch ((QTStatusCodesEnum)e.statusCode)
            {
                // fullscreen begin
                case QTStatusCodesEnum.qtStatusFullScreenBegin:
                    this.Hide();	// hide movie window
                    break;

                // fullscreen end
                case QTStatusCodesEnum.qtStatusFullScreenEnd:
                    qtPlayer.SetScale(1);	// set back to a reasonable size
                    this.Show();	// show movie window again
                    break;

                case QTStatusCodesEnum.qtMovieLoadStateError:
                    var playerErrorEventArgs = new PlayerErrorEventArgs();
                    playerErrorEventArgs.ErrorMessage = "We couldn't load the movie!";
                    playerErrorEventArgs.SupportID = "ErrorLoadingVideo";
                    if (PlayerError != null)
                        PlayerError(sender, playerErrorEventArgs);
                    break;

                case QTStatusCodesEnum.qtMovieLoadStateComplete:
                    var openStateEventArgs = new OpenStateChangedEventArgs();
                    openStateEventArgs.OpenState = GenericPlayerControl.OpenStates.Open;
                    if (OpenStateChanged != null)
                        OpenStateChanged(sender, openStateEventArgs);
                    break;
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// Is called when the quicktime player has a status update such as moving to fullscreen or moving from fullscreen
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void quicktimePlayer_StatusUpdate(object sender, AxQTOControlLib._IQTControlEvents_StatusUpdateEvent e)
        {
            switch (e.statusCodeType)
            {
                case (int)QTStatusCodeTypesEnum.qtStatusCodeTypeControl:
                    {
                        switch (e.statusCode)
                        {
                            // fullscreen begin
                            case (int)QTStatusCodesEnum.qtStatusFullScreenBegin:
                                this.Hide();	// hide movie window
                                break;

                            // fullscreen end
                            case (int)QTStatusCodesEnum.qtStatusFullScreenEnd:
                                //restore the anchoring back (either quicktime or c# had a problem with anchors)
                                this.quicktimePlayer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right)));
                                quicktimePlayer.SetScale(1);	// set back to a reasonable size
                                this.Show();	// show movie window again
                                break;
                        }
                    }
                    break;
            }
        }
 private void qtPlayer_Error(object sender, AxQTOControlLib._IQTControlEvents_ErrorEvent e)
 {
     Logger.Error("Error code: " + e.errorCode + " from " + e.origin);
 }
Exemplo n.º 8
0
        /// <summary>
        /// Handles the QTEvent events that are added to a movie by addMovieEventListeners
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void quicktimePlayer_QTEvent(object sender, AxQTOControlLib._IQTControlEvents_QTEventEvent e)
        {
            switch (e.eventID)
            {
                // rate change (pause.play)
                case (int)QTEventIDsEnum.qtEventRateWillChange:
                        var rate = (e.eventObject.GetParam(QTEventObjectParametersEnum.qtEventParamMovieRate));
                        int therate = Convert.ToInt16(rate);
                        if (therate > 0) //playing
                        {
                            theServer.sendStatusMessage("playing");

                            if (Properties.Settings.Default.startVideosFullscreen && !videoHasAlreadyBeenStarted) //if the user has chosen to start videos fullscreen, set the fullscreen to true. VideoHasAlreadyBeenStarted also needs to be false, as if it is false it means this is the first time the playing event has been called for this particular video. If it is true, it means the video has already started before, and this playing event was fired probably after the video had been paused, so don't do the fullscreen again as the user has made their choice of how they would like to play the video.
                            {
                                setVideoFullscreen(true);
                            }
                            videoHasAlreadyBeenStarted = true; //set this to true to say that the playing event has been fired at least once, so any subsequent firings of the event aren't the first time the player has started playing this video (so any playing events from now on are probably resuming playback, not starting it)
                        }
                        else //paused
                        {
                            theServer.sendStatusMessage("paused");
                        }
                        break;

                // end of video
                case (int)QTEventIDsEnum.qtEventMovieDidEnd:
                        setVideoFullscreen(false); //might as well end the fullscreen at the end of the video
                        theServer.sendStatusMessage("stopped");
                        break;

            }
        }
        /// <summary>
        /// OnQTEvent
        /// 
        /// QuickTime event listener to display export progress information
        /// </summary>
        static void OnQTEvent(object sender, AxQTOControlLib._IQTControlEvents_QTEventEvent e)
        {
            switch (e.eventID)
            {
                case (int) QTEventIDsEnum.qtEventExportProgress:

                    // display export progress
                    int pcnt = (int)(float) e.eventObject.GetParam(QTEventObjectParametersEnum.qtEventParamAmount);
                    if (pcnt >= (exportProgress + 10))
                    {
                        Console.Write(pcnt.ToString() + "% ");
                        exportProgress = pcnt;
                    }
                    break;
            }
        }
Exemplo n.º 10
0
        private void axQTControl1_MouseUpEvent(object sender, AxQTOControlLib._IQTControlEvents_MouseUpEvent e)
        {
            if (e.button != 2)
                return;

            this.contextMenuStrip1.Show(this, e.x, e.y);
        }
Exemplo n.º 11
0
 private void axQTControl1_MouseMoveEvent(object sender, AxQTOControlLib._IQTControlEvents_MouseMoveEvent e)
 {
     if (e.button == 1)
         mouseMove(e.x, e.y, false);
 }
Exemplo n.º 12
0
 private void axQTControl1_MouseDownEvent(object sender, AxQTOControlLib._IQTControlEvents_MouseDownEvent e)
 {
     // left button
     if( e.button == 1 )
         mouseDown(e.x, e.y, 1);
 }