示例#1
0
 private void MediaControl_PreviousTrackButtonPress()
 {
     if (DateTime.Now.Subtract(lastPreviousTrackKeyPress).TotalMilliseconds > mediaKeysInvalidateBeforeMs)
     {
         mbApiInterface.Player_PlayPreviousTrack();
     }
 }
示例#2
0
        private void systemMediaControls_ButtonPressed(SystemMediaTransportControls smtc,
                                                       SystemMediaTransportControlsButtonPressedEventArgs args)
        {
            lock (commandLock)
            {
                switch (args.Button)
                {
                case SystemMediaTransportControlsButton.Play:
                case SystemMediaTransportControlsButton.Pause:

                    if (systemMediaControls.PlaybackStatus != MediaPlaybackStatus.Changing)
                    {
                        mbApiInterface.Player_PlayPause();
                    }

                    break;

                case SystemMediaTransportControlsButton.Stop:
                    mbApiInterface.Player_Stop();
                    break;

                case SystemMediaTransportControlsButton.Next:
                    mbApiInterface.Player_PlayNextTrack();
                    break;

                case SystemMediaTransportControlsButton.Rewind:
                case SystemMediaTransportControlsButton.Previous:
                    if (systemMediaControls.PlaybackStatus != MediaPlaybackStatus.Changing)
                    {
                        // restart song
                        if (DateTime.Now.Subtract(lastPrevious).TotalMilliseconds > PreviousDelay)
                        {
                            mbApiInterface.Player_Stop();
                            mbApiInterface.Player_PlayPause();
                            lastPrevious = DateTime.Now;
                            break;
                        }

                        // play previous track
                        if (DateTime.Now.Subtract(lastPrevious).TotalMilliseconds < PreviousDelay)
                        {
                            mbApiInterface.Player_Stop();
                            mbApiInterface.Player_PlayPreviousTrack();
                            lastPrevious = DateTime.Now;
                        }
                    }

                    break;

                // TODO: fix
                case SystemMediaTransportControlsButton.ChannelUp:
                    mbApiInterface.Player_SetVolume(mbApiInterface.Player_GetVolume() + 0.05F);
                    break;

                case SystemMediaTransportControlsButton.ChannelDown:
                    mbApiInterface.Player_SetVolume(mbApiInterface.Player_GetVolume() - 0.05F);
                    break;
                }
            }
        }
        public void changePlayState(int state)
        {
            switch (state)
            {
            case 0:
                mbApiInterface_.Player_PlayPause();
                break;

            case 1:
                mbApiInterface_.Player_PlayNextTrack();
                break;

            case 2:
                mbApiInterface_.Player_PlayPreviousTrack();
                break;

            case 3:
                mbApiInterface_.Player_Stop();
                break;

            case 4:
                mbApiInterface_.Player_Stop();
                mbApiInterface_.Player_PlayPause();
                break;
            }
        }
        private void systemMediaControls_ButtonPressed(SystemMediaTransportControls smtc, SystemMediaTransportControlsButtonPressedEventArgs args)
        {
            switch (args.Button)
            {
            case SystemMediaTransportControlsButton.Stop:
                mbApiInterface.Player_Stop();
                break;

            case SystemMediaTransportControlsButton.Play:
                if (mbApiInterface.Player_GetPlayState() != PlayState.Playing)
                {
                    mbApiInterface.Player_PlayPause();
                }
                break;

            case SystemMediaTransportControlsButton.Pause:
                if (mbApiInterface.Player_GetPlayState() != PlayState.Paused)
                {
                    mbApiInterface.Player_PlayPause();
                }
                break;

            case SystemMediaTransportControlsButton.Next:
                mbApiInterface.Player_PlayNextTrack();
                break;

            case SystemMediaTransportControlsButton.Previous:
                mbApiInterface.Player_PlayPreviousTrack();
                break;

            case SystemMediaTransportControlsButton.Rewind:
                break;

            case SystemMediaTransportControlsButton.FastForward:
                break;

            case SystemMediaTransportControlsButton.ChannelUp:
                mbApiInterface.Player_SetVolume(mbApiInterface.Player_GetVolume() + 0.05F);
                break;

            case SystemMediaTransportControlsButton.ChannelDown:
                mbApiInterface.Player_SetVolume(mbApiInterface.Player_GetVolume() - 0.05F);
                break;
            }
        }
 private void CCPrevious(object sender, EventArgs e)
 {
     mbApiInterface.Player_PlayPreviousTrack();
 }
示例#6
0
 /// <inheritdoc />
 public bool PlayPrevious()
 {
     return(_api.Player_PlayPreviousTrack());
 }