コード例 #1
0
        public static void play(string recordPath, PictureBox voiceBtn)
        {
            if (player == null)
            {
                player = new WindowsMediaPlayerClass();
                player.PlayStateChange += Player_PlayStateChange;
            }

            if (player.URL == recordPath && player.playState == WMPPlayState.wmppsPlaying)
            {
                currentVoiceBtn.Load(@"icons\voice.png");
                player.stop();
                Console.WriteLine("停止播放");
            }
            else
            {
                // 停止上一个在播放的图标
                if (currentVoiceBtn != null)
                {
                    currentVoiceBtn.Load(@"icons\voice.png");
                }

                // 开始播放新图标
                currentVoiceBtn = voiceBtn;
                currentVoiceBtn.Load(@"icons\voicePlay.gif");

                player.URL = recordPath;

                player.play();

                Console.WriteLine("开始播放" + recordPath);
            }
        }
コード例 #2
0
        /// <summary>
        /// Starts the player playing the paused file.
        /// </summary>
        /// <param name="Fade">Whether to fade or not.</param>
        /// <returns>Returns true if player starts playing</returns>
        public bool Resume(bool Fade)
        {
            try
            {
                if (PlayerState == PlayerStates.Paused)
                {
                    if (!InFade && !InCrossfade)
                    {
                        if (Fade)
                        {
                            FadeState = FadeStates.In;
                            switch (StoppingPlayer)
                            {
                            case Players.Player1:
                                PlayingPlayer = Players.Player1;
                                break;

                            case Players.Player2:
                                PlayingPlayer = Players.Player2;
                                break;
                            }
                            StartFade();
                        }
                        else
                        {
                            switch (PlayingPlayer)
                            {
                            case Players.Player1:
                                PlayingPlayer = Players.Player1;
                                Player1.play();
                                break;

                            case Players.Player2:
                                PlayingPlayer = Players.Player2;
                                Player2.play();
                                break;
                            }
                        }
                        PlayerState = PlayerStates.Playing;
                    }
                }
            }
            catch
            {
            }
            return(false);
        }
コード例 #3
0
        /// <summary>
        /// Starts the player playing the specified file.
        /// </summary>
        /// <param name="TheSong">The filename of the song to play.</param>
        /// <param name="Fade">Whether to fade or not.</param>
        /// <returns>Returns true if player starts playing</returns>
        public bool Play(string TheSong, bool Fade)
        {
            try
            {
                if (PlayerState != PlayerStates.Paused)
                {
                    if (PlayingPlayer == Players.NULL)
                    {
                        if (!InCrossfade && !InFade)
                        {
                            if (Fade)
                            {
                                PlayingPlayer = Players.Player1;
                                Player1Song   = TheSong;
                                Player1.URL   = TheSong;

                                FadeState = FadeStates.In;
                                StartFade();
                            }
                            else
                            {
                                PlayingPlayer  = Players.Player1;
                                Player1Song    = TheSong;
                                Player1.URL    = TheSong;
                                Player1.volume = Volume;
                                Player1.play();
                                PlayerState = PlayerStates.Playing;
                                return(true);
                            }
                        }
                    }
                    else if (Crossfade)
                    {
                        if (!InCrossfade && !InFade)
                        {
                            if (PlayingPlayer == Players.Player1)
                            {
                                Player2Song    = TheSong;
                                StoppingPlayer = Players.Player1;
                                StartCrossfade();
                                return(true);
                            }
                            else if (PlayingPlayer == Players.Player2)
                            {
                                Player1Song    = TheSong;
                                StoppingPlayer = Players.Player2;
                                StartCrossfade();
                                return(true);
                            }
                            else
                            {
                                if (Fade)
                                {
                                    PlayingPlayer = Players.Player1;
                                    Player1Song   = TheSong;
                                    Player1.URL   = TheSong;

                                    FadeState = FadeStates.In;
                                    StartFade();
                                }
                                else
                                {
                                    PlayingPlayer  = Players.Player1;
                                    Player1Song    = TheSong;
                                    Player1.URL    = TheSong;
                                    Player1.volume = Volume;
                                    Player1.play();
                                    PlayerState = PlayerStates.Playing;
                                    return(true);
                                }
                            }
                        }
                    }
                    else if (!InFade)
                    {
                        if (Fade)
                        {
                            PlayingPlayer = Players.Player1;
                            Player1Song   = TheSong;
                            Player1.URL   = TheSong;

                            FadeState = FadeStates.In;
                            StartFade();
                        }
                        else
                        {
                            PlayingPlayer  = Players.Player1;
                            Player1Song    = TheSong;
                            Player1.URL    = TheSong;
                            Player1.volume = Volume;
                            Player1.play();
                            PlayerState = PlayerStates.Playing;
                            return(true);
                        }
                    }
                }
                else if (PlayerState == PlayerStates.Paused)
                {
                    Resume(Fade);
                }
            }
            catch (Exception ex)
            {
                OnError.Invoke(new ErrorEventArgs("Play : " + ex.Message));
            }
            return(false);
        }