TVideoGrabber的使用(一)捕捉摄像头
使用TVideoGrabber捕捉摄像头,相当容易,只需几句代码即可解决问题,首先我们新建一个工程,然后从控件面板上拉取一个 TVideoGrabber控件到窗体中,然后再在窗体上放置四个Button,分别将Caption设为播放,暂停,停止,关闭,name分别设为 BtnPlay,BtnPause,BtnStop,BtnClose将TVideoGrabber1的VideoSource的属性设置为 vs_VideoCaptureDevice
为各个按钮添加点击事件,完整代码如下:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, VidGrab;
type
  TForm1 = class(TForm)
    VideoGrabber1: TVideoGrabber;
    BtnPlay: TButton;
    BtnPause: TButton;
    BtnStop: TButton;
    BtnClose: TButton;
    procedure BtnPlayClick(Sender: TObject);
    procedure BtnPauseClick(Sender: TObject);
    procedure BtnStopClick(Sender: TObject);
    procedure BtnCloseClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
//开启视屏
procedure TForm1.BtnPlayClick(Sender: TObject);
begin
  videoGrabber1.StartPreview;
end;
//暂停或继续
procedure TForm1.BtnPauseClick(Sender: TObject);
begin
 if BtnPause.Caption = '暂停' then
    begin
      btnPause.Caption := '继续';
      VideoGrabber1.PausePreview;
    end
 else
    begin
      btnPause.Caption := '暂停';
      VideoGrabber1.ResumePreview;
    end;
end;
//停止视屏
procedure TForm1.BtnStopClick(Sender: TObject);
begin
  videoGrabber1.StopPreview;
end;
//关闭窗体
procedure TForm1.BtnCloseClick(Sender: TObject);
begin
  close;
end;
end.
以上代码在Delphi7+windows XP Sp3中测试通过
原文转发自:http://www.cnblogs.com/zhusd/archive/2010/06/22/1762531.html
这里有个下载地址:下载
TVideoGrabber的使用(一)捕捉摄像头的更多相关文章
- 如何在视频处理控件TVideoGrabber中设置音频捕捉设备
		TVideoGrabber不仅可以捕捉视频,还可以作为多媒体播放器,并支持包括C#..NET.VB.NET.C++.Delphi.C++Builder和ActiveX平台,本文将剖析TVideoGra ... 
- Opencv VideoCapture实时捕捉摄像头信息
		#include "opencv2/highgui/highgui.hpp" #include <iostream> using namespace cv; using ... 
- ffmpeg捕捉摄像头发送rtmp
		打印 DirectShow 支持的设备列表(true 可用1替换): ffmpeg -list_devices true -f dshow -i dummy 本计算机打印出的信息如下:[dshow @ ... 
- DirectShow VS2013 控制台下捕捉摄像头而且显示
		须要lib库文件 strmiids.lib,下载地址:http://download.csdn.net/detail/dopamy_busymonkey/8872687 放在解决方式中项目的根文件夹中 ... 
- TVideoGrabber如何将网络摄像头影像实时发布到网络
		在TVideoGrabber中如何将网络摄像头影像实时发布到网络?如何设置正在运行TVideoGrabber的一台电脑,同时通过另一台电脑在网络中实时的观看在线视频呢? 在这里称发送视频流的电脑为“m ... 
- OpenCV 学习笔记 02 处理文件、摄像头和图形用户界面
		在处理文件前需要引入OpenCV库,同时也引入unmpy库 import cv2 import numpy as np 1 基本的读写操作 1.1 图像文件的读写操作 1.1.1 图像文件的读取操作 ... 
- python使用opencv驱动摄像头
		#coding:utf-8 import cv2 import sys from PIL import Image def CatchUsbVideo(window_name, camera_idx) ... 
- Python+OpenCV4:读写输入和输出的简单实践(图片、视频、摄像头)
		典型的文件处理流程如下: 利用命令行参数 sys.argv 命令行参数是读取文件时常用的方式. 命令行参数保存在 sys.argv 的列表中,列表的第一个元素是脚本名称,后面的元素是命令行参数: 通过 ... 
- 用树莓派USB摄像头做个监控
		[前言] 看着阴暗的角落里吃灰噎到嗓子眼的树莓派,一起陪伴的时光历历在目,往事逐渐涌上心头,每每触及此处,内心总会升腾起阵阵怜悯之情... 我这有两个设备,一个是积灰已久的树莓派,另一个是积灰已久的U ... 
随机推荐
- 关于讯飞 使用android SDK出现21001错误码的分析
			21001,没有安装语音组件1.有没有使用SpeechUtility.createUtility()设置appid2.有没有将libmsc.so放到工程中,jar包有Msc.jar.Sunflower ... 
- .NET(c#)new关键字的三种用法
			前几天去家公司面试,有一道这样的题:写出c#中new关键字的三种用法,思前想后挖空心思也只想出了两种用法,回来查了下msdn,还真是有第三种用法:用于在泛型声明中约束可能用作类型参数的参数的类型,这是 ... 
- C语言语句分类:大致可分为六大类
			#include <stdio.h> void main() { int sign, i, n; float sum; printf("please input an integ ... 
- 如何在SQLServer中处理每天四亿三千万记录
			首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ... 
- mysql 操作日期函数【增加,减少时间】
			详情链接:http://www.runoob.com/sql/func-date-add.html 定义和用法 DATE_ADD() 函数向日期添加指定的时间间隔. DATE_ADD(date,INT ... 
- SwipeRefreshLayout实现上拉加载下拉刷新
			package com.example.swiperefreshlayoutdemo; import java.util.ArrayList;import java.util.HashMap; imp ... 
- python_中文乱码问题
			1. 编码和解码的概念: 编码是将源对象内容按照一种标准转换为一种标准格式内容. 解码是和编码对应的,它使用和编码相同的标准将编码内容还原为最初的对象内容. 2. python中的编码和解 ... 
- python_字符串
			1. 字符串的格式化 格式: 说明: (1)转换说明符 (2)格式化操作符右操作数可以是任何东西,如果是元组的话,每一个元素都会被单独格式化. 2. 字符串常用的方法 (1)find int = fi ... 
- Hadoop学习笔记: 安装配置Hadoop
			安装前的一些环境配置: 1. 给用户添加sudo权限,输入su - 进入root账号,然后输入visudo,进入编辑模式,找到这一行:"root ALL=(ALL) ALL"在下面 ... 
- iOS -Swift 3.0 -UIButton属性大全
			// // ViewController.swift // Swift-UIButton // // Created by luorende on 16/9/9. // Copyright © ... 
