C# 视频播放

Posted dotNET编程大全

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 视频播放相关的知识,希望对你有一定的参考价值。

主要是最基本的功能实现,后续会更新进一步的加工处理内容

emgucv采用的是V4.1.0.3420 VS版本2015

一开始 _capture.Start()后报错


CS0012 类型“ExceptionHandler”在未引用的程序集中定义。必须添加对程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。

添加引用这个玩意就好了



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 Emgu.CV;using Emgu.Util;using Emgu.CV.CvEnum;using Emgu.CV.Structure;using Emgu.Util.TypeEnum;
namespace WindowsFormsApplication38{public partial class Form1 : Form {// Capture是Emgu.CV提供的摄像头控制类,里面的ImageGrabbed事件表示的是获取到图片后触发。可以用来实现模拟摄像头视频获取(其实是在picturebox中显示图片,由于很快,就跟视频一样)// Capture另一个非常关键的方法是QueryFrame()这个方法是用来获取当前的摄像头捕捉到的图面。 VideoCapture _capture; Mat frame = new Mat();public Form1() { InitializeComponent(); _capture = new VideoCapture(@"C:\Users\Administrator\Desktop\video\vtest.avi");// _capture.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameHeight, 300);//设置捕捉到帧的高度为320。// _capture.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameWidth,//300);//设置捕捉到帧的宽度为240。// _capture.FlipHorizontal = true;//捕捉到帧数据进行水平翻转。 _capture.ImageGrabbed += _capture_ImageGrabbed;
_capture.Start(); }
void _capture_ImageGrabbed(object sender, EventArgs e) {
_capture.Retrieve(frame, 0);
//var frame1 = _capture.Retrieve(frame,0); captureImageBox.Image = frame;



} }}


以上是关于C# 视频播放的主要内容,如果未能解决你的问题,请参考以下文章

在 HTML5 Video 中,如何播放长视频中的小片段?

Android主流视频播放及缓存实现原理调研

视频没有在片段 ViewPager 中暂停

如何在 C# 中拉伸 swf 视频以适应播放器?

有没有关于使用c#用vlc编写视频播放器的资料

AVKit – 视频片段仅循环 2 次