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); } }
/// <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); }
/// <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); }