private void PlaceholderInteractionGrid_OnManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e) { if (isLocked) { return; } var cumulativeTranslationX = e.Cumulative.Translation.X; switch (currentGestureActionType) { case GestureActionType.Null: break; case GestureActionType.Volume: GestureTextBlockDescription.Text = Strings.Volume + " " + computeVolumeFromGesture(e.Cumulative) + "%"; break; case GestureActionType.Brightness: break; case GestureActionType.Seek: var seekInSeconds = Math.Floor(cumulativeTranslationX / 10); GestureTextBlockDescription.Text = StringsHelper.SecondsToString(seekInSeconds) + " (" + StringsHelper.MillisecondsToString(Locator.MediaPlaybackViewModel.Time) + ")"; break; case GestureActionType.Exlore3D: var scale = Math.Abs(e.Cumulative.Scale); if (scale > 1 || scale < 1) { _playbackService.UpdateViewpoint(new VideoViewpoint(0, 0, 0, scale < 1 ? 0.5f : -0.5f), false); } else { var yaw = (float)(DEFAULT_FOV * -e.Cumulative.Translation.X / App.RootPage.SwapChainPanel.ActualWidth) / DIVIDER; var pitch = (float)(DEFAULT_FOV * -e.Cumulative.Translation.Y / App.RootPage.SwapChainPanel.ActualHeight) / DIVIDER; var viewpoint = new VideoViewpoint(yaw, pitch, 0, 0); _playbackService.UpdateViewpoint(viewpoint, false); } break; default: throw new ArgumentOutOfRangeException(); } }
public void UpdateViewpoint(VideoViewpoint viewpoint, bool absolute) { _mediaPlayer.updateViewpoint(viewpoint, absolute); }
void KeyboardListenerService_KeyDown(CoreWindow sender, KeyEventArgs args) { if (!CanListen) { return; } KeyDownPressed?.Invoke(sender, args); // Guidelines: // If first VirtualKey is Ctrl, Alt, or Shift, then we're waiting for another key var i = 0; while (i < MaxVirtualKeys && _virtualKeys[i] != VirtualKey.None) { i++; } if (i == MaxVirtualKeys) { _virtualKeys = new VirtualKey[3]; } else { _virtualKeys[i] = args.VirtualKey; } switch (args.VirtualKey) { case VirtualKey.Control: Debug.WriteLine("Ctrl key was pressed, waiting another key ..."); break; case VirtualKey.Shift: Debug.WriteLine("Shift key was pressed, waiting another key ..."); break; default: Debug.WriteLine($"{args.VirtualKey} key was pressed"); var action = Shortcuts.FirstOrDefault(x => (x.MainKey == _virtualKeys[0] || x.KeyCode == (int)_virtualKeys[0]) && (x.SecondKey == _virtualKeys[1] || x.KeyCode == (int)_virtualKeys[1])); if (action != null) { // if there's a match, get the ActionId DoKeyboardAction(action); } else { if (Locator.NavigationService.CurrentPage == VLCPage.VideoPlayerPage) { switch (args.VirtualKey) { case VirtualKey.GamepadLeftThumbstickButton: case VirtualKey.GamepadRightThumbstickButton: if (!Locator.VideoPlayerVm.Is3DVideo) { break; } var vp = new VideoViewpoint(0f, 0f, 0f, args.VirtualKey == VirtualKey.GamepadRightThumbstickButton ? -0.5f : 0.5f); Locator.PlaybackService.UpdateViewpoint(vp, false); break; case VirtualKey.GamepadA: case VirtualKey.GamepadDPadDown: case VirtualKey.GamepadDPadLeft: case VirtualKey.GamepadDPadUp: case VirtualKey.GamepadDPadRight: case VirtualKey.GamepadLeftThumbstickUp: case VirtualKey.GamepadLeftThumbstickDown: case VirtualKey.GamepadLeftThumbstickRight: case VirtualKey.GamepadLeftThumbstickLeft: Locator.VideoPlayerVm.RequestChangeControlBarVisibility(true); break; case VirtualKey.GamepadY: Locator.MediaPlaybackViewModel.PlayOrPauseCommand.Execute(null); break; case VirtualKey.GamepadLeftShoulder: Locator.VideoPlayerVm.RequestChangeControlBarVisibility(true); Locator.MediaPlaybackViewModel.FastSeekCommand.Execute(-5000); break; case VirtualKey.GamepadLeftTrigger: Locator.VideoPlayerVm.RequestChangeControlBarVisibility(true); Locator.MediaPlaybackViewModel.FastSeekCommand.Execute(-30000); break; case VirtualKey.GamepadRightShoulder: Locator.VideoPlayerVm.RequestChangeControlBarVisibility(true); Locator.MediaPlaybackViewModel.FastSeekCommand.Execute(5000); break; case VirtualKey.GamepadRightTrigger: Locator.VideoPlayerVm.RequestChangeControlBarVisibility(true); Locator.MediaPlaybackViewModel.FastSeekCommand.Execute(30000); break; case VirtualKey.GamepadRightThumbstickDown: if (!Locator.VideoPlayerVm.Is3DVideo) { break; } Locator.PlaybackService.UpdateViewpoint(new VideoViewpoint(0f, 5f, 0f, 0f), false); break; case VirtualKey.GamepadRightThumbstickUp: if (!Locator.VideoPlayerVm.Is3DVideo) { break; } Locator.PlaybackService.UpdateViewpoint(new VideoViewpoint(0f, -5f, 0f, 0f), false); break; case VirtualKey.GamepadRightThumbstickLeft: if (!Locator.VideoPlayerVm.Is3DVideo) { break; } Locator.PlaybackService.UpdateViewpoint(new VideoViewpoint(-5f, 0f, 0f, 0f), false); break; case VirtualKey.GamepadRightThumbstickRight: if (!Locator.VideoPlayerVm.Is3DVideo) { break; } Locator.PlaybackService.UpdateViewpoint(new VideoViewpoint(5f, 0f, 0f, 0f), false); break; default: break; } } } break; } }