//接受語音事件 private void SreSpeechRecognized(object sender, SpeechRecognizedEventArgs e) { /* * if (e.Result.Confidence < 0.2)//肯定度低於0.6,判為錯誤語句 * { * return; * }*/ switch (e.Result.Text.ToUpperInvariant()) { case "STOP": VideoElement.Pause(); break; case "PLAY": VideoElement.Play(); break; case "LOUD": VideoElement.Volume += 2; break; case "XIAO SHENG": VideoElement.Volume += -1; break; case "TIMEOUT": unit = 7; MessageBox.Show("暫停"); break; } }
/// <summary> /// Play next song in playlist. /// </summary> public async void BtnPlay_Click(object sender, RoutedEventArgs e) { _videoPlay = true; _forcePaused = false; if (ComponentPlayer.Current == null) { BtnOpen_Click(sender, e); return; } switch (ComponentPlayer.Current.PlayerStatus) { case PlayerStatus.Playing: if (VideoElement?.Source != null) { await VideoElement.Pause(); } PauseMedia(); break; case PlayerStatus.Ready: case PlayerStatus.Stopped: case PlayerStatus.Paused: if (VideoElement?.Source != null) { await VideoElement.Play(); } PlayMedia(); break; } }
private async void Commands_LoadMedia(object sender, ExecutedRoutedEventArgs e) { Command_UnloadMedia(null, null); CommonOpenFileDialog fileDialog = new CommonOpenFileDialog { Title = "打开媒体文件", DefaultDirectory = Environment.CurrentDirectory, IsFolderPicker = false, AllowNonFileSystemItems = true, EnsurePathExists = true, Multiselect = false, //Filters = { new CommonFileDialogFilter("波形音频", ".wav") }, EnsureFileExists = true }; if (fileDialog.ShowDialog() != CommonFileDialogResult.Ok) { return; } if (!DockControl?.IsVisible ?? true) { DockControl?.Show(); } MediaLoaded = true; Playing = true; //MediaPlayer.Play(new Media(_libVLC, fileDialog.FileName)); await VideoElement.Open(new Uri(fileDialog.FileName)); await VideoElement.Play(); }
private async Task PlayVideo() { if (VideoElement.MediaState == MediaPlaybackState.Play) { return; } await VideoElement.Play(); }
private async void VideoElement_MediaOpened(object sender, RoutedEventArgs e) { VideoElementBorder.Visibility = Visibility.Visible; if (!_videoPlay) { return; } await Task.Run(() => _waitAction?.Invoke()); await VideoElement.Play(); VideoElement.Position = _position; }
private void PlayStopButtonClick(object sender, RoutedEventArgs e) { if (PlayButton.IsChecked.Value) { VideoElement.Play(); PlayButton.Content = "\ue103"; } else { VideoElement.Pause(); PlayButton.Content = "\ue102"; } }
private void ControllerViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { var property = typeof(TelloControllerViewModel).GetProperty(e.PropertyName); var value = property.GetValue(sender); Debug.WriteLine($"{nameof(ControllerViewModel_PropertyChanged)} - property '{e.PropertyName}', value '{value}'"); if (e.PropertyName == nameof(TelloControllerViewModel.IsVideoStreaming) && (bool)value) { VideoElement.Play(); } else { VideoElement.Stop(); } }
public PlaybackView() { InitializeComponent(); VideoElement.PositionChanged += (o, args) => Position.Time = (long)args.Position.TotalMilliseconds; VideoElement.MediaOpened += (o, args) => Position.Total = (long)args.Info.Duration.TotalMilliseconds; VideoElement.MediaFailed += (o, args) => Console.WriteLine(@"[FFME] MediaFailed : " + args.ErrorException); VideoElement.MediaEnded += async(o, args) => { await VideoElement.Seek(TimeSpan.Zero); await VideoElement.Play(); }; //VideoElement.RenderingVideo += RenderPreviewOnVideo; Position.OnPositionActiveChanged += () => SeekToPosition(Position.Time); }
//private async void VideoPlay() //{ // //await VideoElement.Pause(); // //await VideoElement.Play(); //} private async Task VideoJumpTo(int milliseconds) { _waitActionCts = new MyCancellationTokenSource(); Guid?guid = _waitActionCts?.Guid; var trueOffset = milliseconds + _videoOffset; if (trueOffset < 0) { await VideoElement.Pause(); VideoElement.Position = TimeSpan.FromMilliseconds(0); await Task.Run(() => { Thread.Sleep(TimeSpan.FromMilliseconds(-trueOffset)); }); if (_waitActionCts?.Guid != guid || _waitActionCts?.IsCancellationRequested == true) { return; } if (!_forcePaused) { await VideoElement.Play(); } else { await VideoElement.Pause(); } } else { //if (_mediaEnded) //{ // VideoElement.Position = TimeSpan.FromMilliseconds(0); // await Task.Run(() => { Thread.Sleep(10); }); //} if (!_forcePaused) { await VideoElement.Play(); } else { await VideoElement.Pause(); } VideoElement.Position = TimeSpan.FromMilliseconds(trueOffset); } }
//動作完成時,影片重複播放 private void ResetTime() { if (preTime != times) { VideoElement.Stop(); VideoElement.Play(); sec = 100; preTime = times; A.Value = 100; failSecond = 1; if (unit == 1 || unit == 2) { finish = 1; } else if (unit == 3 || unit == 4) { finish = 2; } else { finish = 0; } } }
private void Play_OnClick(object sender, RoutedEventArgs e) { VideoElement.Play(); PlayButton.Visibility = Visibility.Collapsed; }
private async Task SafelyRecreateVideoElement(bool showVideo) { await Task.Run(async() => { await VideoElement.Stop(); Dispatcher.Invoke(() => { VideoElement.Position = TimeSpan.Zero; VideoElement.Source = null; VideoElement.MediaOpened -= OnMediaOpened; VideoElement.MediaFailed -= OnMediaFailed; VideoElement.MediaEnded -= OnMediaEnded; VideoElement.SeekingStarted -= OnSeekingStarted; VideoElement.SeekingEnded -= OnSeekingEnded; //VideoElement.Dispose(); VideoElement = null; VideoElementBorder.Visibility = Visibility.Hidden; VideoElement = new Unosquare.FFME.MediaElement { IsMuted = true, LoadedBehavior = MediaPlaybackState.Manual, Visibility = Visibility.Visible, }; VideoElement.MediaOpened += OnMediaOpened; VideoElement.MediaFailed += OnMediaFailed; VideoElement.MediaEnded += OnMediaEnded; if (showVideo) { VideoElement.SeekingStarted += OnSeekingStarted; VideoElement.SeekingEnded += OnSeekingEnded; } VideoElementBorder.Children.Add(VideoElement); }); }); async void OnMediaOpened(object sender, MediaOpenedEventArgs e) { VideoElementBorder.Visibility = Visibility.Visible; if (!_videoPlay) { return; } await Task.Run(() => _waitAction?.Invoke()); if (VideoElement == null /* || VideoElement.IsDisposed*/) { return; } await VideoElement.Play(); VideoElement.Position = _position; } async void OnMediaFailed(object sender, MediaFailedEventArgs e) { VideoElementBorder.Visibility = Visibility.Hidden; //MsgBox.Show(this, e.ErrorException.ToString(), "不支持的视频格式", MessageBoxButton.OK, MessageBoxImage.Error); if (!_videoPlay) { return; } await SafelyRecreateVideoElement(false); PlayMedia(); } void OnMediaEnded(object sender, EventArgs e) { if (VideoElement == null /*|| VideoElement.IsDisposed*/) { return; } VideoElement.Position = TimeSpan.Zero; } void OnSeekingStarted(object sender, EventArgs e) { } void OnSeekingEnded(object sender, EventArgs e) { if (!_videoPlay) { return; } PlayMedia(); } }
void btnPlayPause_Unchecked(object sender, RoutedEventArgs e) { VideoElement.Play(); btnPlayPause.Content = "Pause"; }
private void PlayFile(string file) { VideoElement.Source = new Uri(file); LyricsElement.Text = "TEST text"; VideoElement.Play(); }
private void btn_play_Click(object sender, RoutedEventArgs e) { VideoElement.Play(); // 控制影片播放 }
public Unit_Page(int selectUnit, int selectAction) { if (selectUnit == 1) { unit_1 = new Unit_1(); } else if (selectUnit == 2) { unit_2 = new Unit_2(); } else if (selectUnit == 3) { unit_3 = new Unit_3(); } else if (selectUnit == 4) { unit_4 = new Unit_4(); } else if (selectUnit == 0) { WU = new WarmUp(); } InitializeComponent(); unit = selectUnit; action = selectAction; //sensor.Start(); //啟動Kinect Sensor sensor.ElevationAngle = 0; //調整Kinect角度為0 //載入與卸載 var parameters = new TransformSmoothParameters { Smoothing = 0.3f, Correction = 0.0f, Prediction = 0.0f, JitterRadius = 1.0f, MaxDeviationRadius = 0.5f }; setVoice(); sensor.SkeletonStream.Enable(parameters); //載入平滑處理參數 sensor.ColorStream.Enable(); //開啟,彩色影像 sensor.SkeletonStream.Enable(); //開啟,骨架追蹤 GetVideo = sign.ReturnVideo(unit); VideoElement.Source = new Uri(Directory.GetCurrentDirectory() + GetVideo[0]); VideoElement.LoadedBehavior = MediaState.Manual; VideoElement.UnloadedBehavior = MediaState.Manual; VideoElement.Play(); GoodElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\good.m4a"); GoodElement.LoadedBehavior = MediaState.Manual; GoodElement.UnloadedBehavior = MediaState.Manual; BGMusicElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\黃金傳說 - 做菜歌.mp3"); BGMusicElement.LoadedBehavior = MediaState.Manual; BGMusicElement.UnloadedBehavior = MediaState.Manual; BGMusicElement.Play(); OneElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\1.mp3"); OneElement.LoadedBehavior = MediaState.Manual; OneElement.UnloadedBehavior = MediaState.Manual; TwoElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\2.mp3"); TwoElement.LoadedBehavior = MediaState.Manual; TwoElement.UnloadedBehavior = MediaState.Manual; ThreeElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\3.mp3"); ThreeElement.LoadedBehavior = MediaState.Manual; ThreeElement.UnloadedBehavior = MediaState.Manual; FourElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\4.mp3"); FourElement.LoadedBehavior = MediaState.Manual; FourElement.UnloadedBehavior = MediaState.Manual; FiveElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\5.mp3"); FiveElement.LoadedBehavior = MediaState.Manual; FiveElement.UnloadedBehavior = MediaState.Manual; SixElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\6.mp3"); SixElement.LoadedBehavior = MediaState.Manual; SixElement.UnloadedBehavior = MediaState.Manual; SevenElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\7.mp3"); SevenElement.LoadedBehavior = MediaState.Manual; SevenElement.UnloadedBehavior = MediaState.Manual; EightElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\8.mp3"); EightElement.LoadedBehavior = MediaState.Manual; EightElement.UnloadedBehavior = MediaState.Manual; NineElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\9.mp3"); NineElement.LoadedBehavior = MediaState.Manual; NineElement.UnloadedBehavior = MediaState.Manual; TenElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\10.mp3"); TenElement.LoadedBehavior = MediaState.Manual; TenElement.UnloadedBehavior = MediaState.Manual; ElevenElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\11.mp3"); ElevenElement.LoadedBehavior = MediaState.Manual; ElevenElement.UnloadedBehavior = MediaState.Manual; TwelveElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\12.mp3"); TwelveElement.LoadedBehavior = MediaState.Manual; TwelveElement.UnloadedBehavior = MediaState.Manual; ThirteenElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\13.mp3"); ThirteenElement.LoadedBehavior = MediaState.Manual; ThirteenElement.UnloadedBehavior = MediaState.Manual; FourteenElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\14.mp3"); FourteenElement.LoadedBehavior = MediaState.Manual; FourteenElement.UnloadedBehavior = MediaState.Manual; FifteenElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\15.mp3"); FifteenElement.LoadedBehavior = MediaState.Manual; FifteenElement.UnloadedBehavior = MediaState.Manual; SixteenElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\16.mp3"); SixteenElement.LoadedBehavior = MediaState.Manual; SixteenElement.UnloadedBehavior = MediaState.Manual; SeventeenElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\17.mp3"); SeventeenElement.LoadedBehavior = MediaState.Manual; SeventeenElement.UnloadedBehavior = MediaState.Manual; EighteenElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\18.mp3"); EighteenElement.LoadedBehavior = MediaState.Manual; EighteenElement.UnloadedBehavior = MediaState.Manual; NineteenElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\19.mp3"); NineteenElement.LoadedBehavior = MediaState.Manual; NineteenElement.UnloadedBehavior = MediaState.Manual; CMoneElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\CM1.mp3"); CMoneElement.LoadedBehavior = MediaState.Manual; CMoneElement.UnloadedBehavior = MediaState.Manual; CMtwoElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\CM2.mp3"); CMtwoElement.LoadedBehavior = MediaState.Manual; CMtwoElement.UnloadedBehavior = MediaState.Manual; CMthreeElement.Source = new Uri(Directory.GetCurrentDirectory() + "\\Source\\Voice\\CM3.mp3"); CMthreeElement.LoadedBehavior = MediaState.Manual; CMthreeElement.UnloadedBehavior = MediaState.Manual; }