WPF视频播放器自做

  • 格式:pdf
  • 大小:140.15 KB
  • 文档页数:23

namespace mykinect { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { private KinectSensorChooser sensorChooser; private System.Windows.Forms.Timer timer = new Timer() { }; string root = "", pathMedia = ""; public MainWindow() { InitializeComponent(); timer.Tick += new EventHandler(timer_Tick); timer.Enabled = true; SetPlayer(false); Loaded += OnLoaded;
try { args.OldSensor.DepthStream.Range = DepthRange.Default; args.OldSensor.SkeletonStream.EnableTrackingIn NearRange = false; args.OldSensor.DepthStream.Disable(); args.OldSensor.SkeletonStream.Disable(); } catch (InvalidOperationException) { // KinectSensor might enter an invalid state while enabling/disabling streams or stream features. // E.g.: sensor might be abruptly unplugged. error = true;
{ this.mediaElement.LoadedBehavior = MediaState.Manual; string[] files = Directory.GetFiles(pathMedia); foreach (string file in files) { fileNames.Add(file.Substring(stIndexOf( '\\') + 1)); } this.mediaElement.Source = new Uri(files[0]); this.mediaElement.Play(); } private void mediaElement1_MediaEnded(object sender, RoutedEventArgs e)
InitPath(); AddItemToListView(); } void timer_Tick(object sender, EventArgs e) { //模拟的做一些耗时的操作 this.progress.Value = this.mediaElement.Position.Ticks; } private void InitPath() { ApplicationPath ap = new ApplicationPath(); root = ap.GetRtfPath("root"); pathMedia = root + ap.GetRtfPath("pathMedia"); }
//mediaElement.Stop(); //SetPlayer(false);//我想在这里实 现暂停的功能 string fileName = this.listView1.SelectedValue.ToString(); this.mediaElement.Source = new Uri(pathMedia + "//" + fileName); //this.mediaElement.Play(); //mediaElement.Source = new Uri(openFileDialog.FileName, 0); progress.Value = 0; playBtn.IsEnabled = true; }
//将视频目录下的视频名称添加到ListView 中 private void AddItemToListView() { string[] files = Directory.GetFiles(pathMedia); foreach (string file in files) { this.listView1.Items.Add(file.Substring(file.L astIndexOf('\\') + 1)); } } //窗体加载时调用视频,进行播放 private void Window_Loaded(object sender, RoutedEventArgs e) { MediaElementControl(); } List<string> fileNames = new List<string>(); private void MediaElementControl()
{ //获取当前播放视频的名称(格式为: xxx.wmv) string path = this.mediaElement.Source.LocalPath; string currentfileName = path.Substring(stIndexOf('\\') + 1); //对比名称列表,如果相同,则播放下 一个,如果播放的是最后一个,则从第一个重新开始 播放 for (int i = 0; i < fileNames.Count; i++) { if (currentfileName == fileNames[i]) { if (i == fileNames.Count 1) { this.mediaElement.Source = new Uri(pathMedia +
private void SetPlayer(bool bVal) { stopBtn.IsEnabled = bVal; playBtn.IsEnabled = bVal;
} private void PlayerPause() { SetPlayer(true); if (playBtn.Content.ToString() == "Play") { mediaElement.Play(); playBtn.Content = "Pause"; mediaElement.ToolTip = "Click to Pause"; } else { mediaElement.Pause(); playBtn.Content = "Play"; mediaElement.ToolTip = "Click to Play"; }
"//" + fileNames[0]); this.mediaElement.Play(); } else { this.mediaElement.Source = new Uri(pathMedia + "//" + fileNames[i + 1]); this.mediaElement.Play(); } break; } } } //播放列表选择时播放对应视频 private void listView1_SelectionChanged(object sender, SelectionChangedEventArgs e) {
} } if (args.NewSensor != null) { try { args.NewSensor.DepthStream.Enable(DepthImageFo rmat.Resolution640x480Fps30); args.NewSensor.SkeletonStream.Enable(); try { args.NewSensor.DepthStream.Range = DepthRange.Near; args.NewSensor.SkeletonStream.EnableTrackingIn NearRange = true;
பைடு நூலகம்
args.NewSensor.SkeletonStream.TrackingMode = SkeletonTrackingMode.Seated; } catch (InvalidOperationException) { args.NewSensor.DepthStream.Range = DepthRange.Default; args.NewSensor.SkeletonStream.EnableTrackingIn NearRange = false; } } catch (InvalidOperationException) { error = true; } } }
private void Button_Click(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "wmv files(*.wmv)|*.wmv|wmv files(*.avi)|*.avi"; if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { System.Windows.MessageBox.Show(openFileDialog. FileName); mediaElement.Source = new Uri(openFileDialog.FileName, 0); playBtn.IsEnabled = true; } //MediaElementControl(); } private void playBtn_Click(object