需要用windows media player播放视频,两个摄像头从不同位置录像的视频,要一起播放,从某个给定时间段开始播放,速度为0.1

先上代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WMPLib;namespace videotest
{public partial class Form1 : Form{bool flag2 = true;public double cp;//视频开始时间public string url = "";public string url2 = "";public double changdu;//需要显示的一个业务变量public string no;public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){axWindowsMediaPlayer1.URL = url;axWindowsMediaPlayer1.Ctlcontrols.currentPosition = 0d;axWindowsMediaPlayer1.uiMode = "none";axWindowsMediaPlayer1.settings.autoStart = false;axWindowsMediaPlayer1.Ctlcontrols.play();axWindowsMediaPlayer2.URL = url2;axWindowsMediaPlayer2.Ctlcontrols.currentPosition = 0d;axWindowsMediaPlayer2.uiMode = "none";axWindowsMediaPlayer2.settings.autoStart = false;axWindowsMediaPlayer2.Ctlcontrols.play();timer1.Interval = 100;timer1.Enabled = true;label3.Text = cp.ToString();label4.Text = changdu.ToString();}private void button1_Click(object sender, EventArgs e){if (axWindowsMediaPlayer1.playState == WMPPlayState.wmppsPlaying && axWindowsMediaPlayer2.playState == WMPPlayState.wmppsPlaying){axWindowsMediaPlayer1.Ctlcontrols.pause();axWindowsMediaPlayer2.Ctlcontrols.pause();button1.Text = "播放";}else{axWindowsMediaPlayer1.Ctlcontrols.play();axWindowsMediaPlayer2.Ctlcontrols.play();button1.Text = "暂停";}}private void trackBar1_Scroll(object sender, EventArgs e){if (axWindowsMediaPlayer1.playState == WMPPlayState.wmppsPlaying && axWindowsMediaPlayer2.playState == WMPPlayState.wmppsPlaying){axWindowsMediaPlayer1.Ctlcontrols.currentPosition = trackBar1.Value/1000d;axWindowsMediaPlayer2.Ctlcontrols.currentPosition = trackBar1.Value/1000d;}}private void timer1_Tick(object sender, EventArgs e){if (axWindowsMediaPlayer1.playState == WMPPlayState.wmppsPlaying){trackBar1.Maximum = (int)(axWindowsMediaPlayer1.currentMedia.duration)*1000-1000;trackBar1.Minimum = 0;trackBar1.Value = (int)(axWindowsMediaPlayer1.Ctlcontrols.currentPosition)*1000;}if (axWindowsMediaPlayer1.playState == WMPPlayState.wmppsMediaEnded){trackBar1.Value = 0;button1.Text = "播放";}if (flag2&& axWindowsMediaPlayer1.playState == WMPPlayState.wmppsPlaying&& axWindowsMediaPlayer2.playState == WMPPlayState.wmppsPlaying){axWindowsMediaPlayer1.Ctlcontrols.currentPosition = cp;axWindowsMediaPlayer2.Ctlcontrols.currentPosition = cp;trackBar1.Value = (int)(cp*1000);axWindowsMediaPlayer1.Ctlcontrols.pause();axWindowsMediaPlayer2.Ctlcontrols.pause();axWindowsMediaPlayer1.settings.rate = 0.1;axWindowsMediaPlayer2.settings.rate = 0.1;button1.Text = "播放";flag2 = false;}label1.Text = axWindowsMediaPlayer1.currentMedia.durationString;label2.Text = TimeChange(axWindowsMediaPlayer1.Ctlcontrols.currentPosition);}private string TimeChange(double t){string res = "";int m = (int)Math.Floor(t / 60d);int s = (int)(t - m * 60d);res = m.ToString().PadLeft(2, '0')+":"+s.ToString().PadLeft(2, '0')+"."+ Math.Round(((t - m * 60d)-s),3)*1000;return res;}private void trackBar1_MouseUp(object sender, MouseEventArgs e){timer1.Enabled = true;}private void trackBar1_MouseDown(object sender, MouseEventArgs e){timer1.Enabled = false;}private void button3_Click(object sender, EventArgs e){axWindowsMediaPlayer1.Ctlcontrols.currentPosition += 3;axWindowsMediaPlayer2.Ctlcontrols.currentPosition += 3;}private void button4_Click(object sender, EventArgs e){axWindowsMediaPlayer1.Ctlcontrols.currentPosition -= 3;axWindowsMediaPlayer2.Ctlcontrols.currentPosition -= 3;}private void button2_Click(object sender, EventArgs e){axWindowsMediaPlayer1.Ctlcontrols.stop();axWindowsMediaPlayer2.Ctlcontrols.stop();trackBar1.Value = 0;}private void button5_Click(object sender, EventArgs e){axWindowsMediaPlayer1.settings.rate = 0.1;axWindowsMediaPlayer2.settings.rate = 0.1;}private void button6_Click(object sender, EventArgs e){axWindowsMediaPlayer1.settings.rate = 0.2;axWindowsMediaPlayer2.settings.rate = 0.2;}/// <param name="VideoName">视频文件pic/guiyu.mov</param>/// <param name="WidthAndHeight">图片的尺寸如:240*180</param>/// <param name="CutTimeFrame">开始截取的时间如:"1"</param>#region 从视频画面中截取一帧画面为图片public string GetPicFromVideo(string VideoName, string WidthAndHeight, string CutTimeFrame){string ffmpeg = @"ffmpeg.exe";string PicName = @"F:/"+no+".jpg";    //Server.MapPath(Guid.NewGuid().ToString().Replace("-", "") + ".jpg");System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(ffmpeg);startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;startInfo.Arguments = " -i " + VideoName + " -y -f image2 -ss " + CutTimeFrame + " -t 0.001 -s " + WidthAndHeight + " " + PicName;  //設定程式執行參數try{System.Diagnostics.Process.Start(startInfo);return PicName;}catch (Exception err){return err.Message;}}#endregionprivate void button7_Click(object sender, EventArgs e){GetPicFromVideo(url,"1024*768", cp.ToString());}}
}

后面还用 ffmpeg.exe来做了截图功能,ffmpeg文件三件套下载在我的其他链接里

ffmpeg三件套

C# windows media player 双窗口同步播放视频相关推荐

  1. windows Media Player 9.0网页播放器

    windows Media Player 9.0网页播放器 (mp3.wma.wmv.asf) 以下图片为一般播mp3.wma文件时调用windows自带播放器windows Midia Player ...

  2. 利用Windows Media Player实现倍速播放本地视频

    利用Windows Media Player实现倍速播放本地视频 背景:在这样的一个特殊时期被迫开始了网上教学,我们的老师怕网络不好,直接发了录的教学资源给我们,但是看视频吧老觉得语速慢,想调倍速,本 ...

  3. c#—如何借助windows media player控件编写播放器

    windows media player控件的常用属性和方法 以下 music player 均为windows media player控件的名字. 1.属性  1)musicPlayer.sett ...

  4. 【原】基于Windows Media Player, 写自己的播放器【有源码,可下载整个工程】

    最近有客户问我,怎么把Windows Media Player 嵌套在自己的项目中. 以前我在Delphi下玩过Windows Media Player,可是在Microsoft Visual Stu ...

  5. 在Winform(C++/CLR)平台设计的(本地在线)音乐播放器(基于WMP(Windows Media Player)控件实现)

    首先,祝贺阿根廷获得2022世界杯冠军! 文章目录 简介 功能展示 1.用户注册.登录.自定义主题 2.本地歌曲导入.播放并读取歌词文件 3.在线歌曲搜索.收藏.播放 4.歌词同步及桌面歌词 5.在线 ...

  6. 网页Windows Media Player播放器参数含义(转)

    常用网页播放器代码 我们在网页上看到的播放器无外乎WMP/RealOne/Macromedia Flash Player,其他的无非是面板不同,或者添加了其他控件,对于计算机上安装的一些播放器也都是编 ...

  7. html加入window播放器,使用 HTML 和 Windows Media Player

    使用 HTML 和 Windows Media Player 05/31/2018 本文内容 概述 使用 HTML 和 Windows Media Player 是将音频和视频与文本和图形组合在一起的 ...

  8. Windows Media Player 网页播放器 参数含义

    原文来源:http://www.blogjava.net/wangxinsh55/archive/2009/05/03/43535.html 常用网页播放器代码 我们在网页上看到的播放器无外乎WMP/ ...

  9. 音乐播放器制作一(Windows Media Player控件)

    VS2013 MFC做音乐播放器,需要使用到ActiveX控件(Windows Media Player),可以播放音视频,支持歌单添加,删除,保存操作,支持循环,顺序,随机播放.   话不多说,先来 ...

最新文章

  1. 在浏览器上也能训练神经网络?TensorFlow.js带你玩游戏~
  2. 后端开挂:3行代码 = 8个接口
  3. Java学习之容器上(Collection接口常用方法,Iterator接口,使用foreach循环遍历Collection集合元素,Set集合通用知识(Hashset类,hashcode()与Lin
  4. 我对模板模式和策略模式的理解
  5. 科研人必备的学术导航,不看后悔!
  6. SecSolar:为代码“捉虫”,让你能更专心写代码
  7. Vue 3开发的重要提示
  8. DHCP服务器异常,上不了网解决办法
  9. PHP编译参数 --prefix=/usr/local/php 的“深远”影响
  10. HTML--day01
  11. adams2015怎么把工具栏打开_PDF怎么转成JPG?5个必备PDF操作技巧
  12. 把图片背景变透明(制作签名档)
  13. python设置excel单元格格式_Python帮你做Excel——格式设置与画图
  14. 如何在所有流媒体服务中搜索电影或电视节目
  15. 快被95后新人整疯:啥都不会,情商低,乱怼人!
  16. 万能遥控程序c语言,51单片机万能红外遥控解码程序
  17. 缺陷轰炸和beta测试详解
  18. linux 模拟hba卡闪断,服务器HBA卡常见问题
  19. 雷蛇 笔记本 装linux,顺应民意:雷蛇考虑开发Linux版Blade游戏本
  20. android性能优化透明,Android性能优化-图片篇

热门文章

  1. 程序员的自我修养_读书笔记
  2. 自律力:创建持久的行为习惯,成为你想成为的人
  3. JavaScript new Date 处理毫秒转换成时间
  4. Ackerman的非递归算法思路讲解
  5. 药品监管系统架构揭秘:海量溯源数据存储与查询...
  6. Linux安装Git(一条命令即可)
  7. Raft 协议 - Fabric
  8. 【三维手臂手指活动动态仿真】基于MATLAB+python三维手臂动态仿真
  9. 【SU-03T离线语音模块】:学习配置使用
  10. 中压开关柜中的弧光保护