如何在视频处理控件TVideoGrabber中设置音频捕捉设备
TVideoGrabber不仅可以捕捉视频,还可以作为多媒体播放器,并支持包括C#、.NET、VB.NET、C++、Delphi、C++Builder和ActiveX平台,本文将剖析TVideoGrabber的音频捕捉设备。
音频源
如果AudioSource = as_Default(默认值),视频捕捉设备的音频输出将会用于记录(如果这个设备公开一个的音频输出,比如一个DV camcorder),否则这个当前音频捕捉设备的音频输出将会被使用。
如果AudioSource设置为as_UseExternalAudio,当前音频捕捉设备将用于记录,即使视频捕捉设备有一个音频输出了。
音频捕捉设备
当前音频捕捉装置是由AudioDevice选择,这个是在AudioDevices列表中的一个索引,包含了AudioDevicesCount项目。
也可以通过使用FindIndexInListByName功能,按名称的方式编程选择audiop捕获设备,比如:当前的音频捕获设备的名称由AudioDeviceName报告。
|
1
|
VideoGrabber.AudioDevice := VideoGrabber.FindIndexInListByName (VideoGrabber.AudioDevices, 'name of my audio device', false, true); |
AudioDevices 和 AudioDevices count在Delphi 和C++Builder中可以作为全局变量使用。
设备相关的属性
当选中了一个音频捕捉设备,与其设备相关的属性会从注册表重新导入,并发生OnAudioDeviceSelected事件,因此任何控件使用比如音频输出,需要从这个事件刷新。
音频输入
在选择了音频捕获设备后,AudioInputs列表会返回对于这个音频输入可用的音频输出列表。通过分配在列表中的音频输入到音频输入设备,可以选择一个音频输出。
音频输入电平
可以调整音频输入电平适应于AudioInputLevel(在0..65535中)范围。
音频输入平衡
在32768...32767范围中(中心点是0),音频输入平衡可以被调整来适应于AudioInputBalance。
音频输入是否可用,取决于音频输入。当运行预览或是录制时,如果音频平衡可用,IsAudioInputBalanceAvailable会返回ts_True,如果不可用,就会返回ts_False。如果预览和录制停止的话,将会返回ts_Undefined。
音频录制
当启用了 AudioRecording时,当前的音频捕捉设备的录制就会被激活。
音频渲染
当启用了 AudioDeviceRendering 时,就会激活音频渲染。
音量可以调整适应于AudioVolume,音频平衡适应于AudioBalance。
启用/禁用的MuteAudioRendering属性可以静音。
这些设置仅影响渲染的平衡音量和音频,而不是录音的音量和平衡。
设备连接/断开
当音频捕捉设备连接或断开时,会发生OnDeviceArrivalOrRemoval事件,这个事件在全局列表中的音频捕捉设备的索引和名字。
一旦连接了一个音频捕捉设备被断开后,IsAudioDeviceConnected会返回true,直到这个设备被重新连接。
如果相关的设备被用于预览或是录制使用,当设备断开连接的时候,这个OnDeviceLost事件就会发生,同时预览和录制也会停止。
如何在视频处理控件TVideoGrabber中设置音频捕捉设备的更多相关文章
- 视频处理控件TVideoGrabber中如何混合多个视频源(2)
在前面的<视频处理控件TVideoGrabber混合多个视频源(1)>一文中,已经对TVideoGrabber中混合视频源做了一些内容的说明,本文将继续前文: >>>TV ...
- 视频处理控件TVideoGrabber中如何混合多个视频源(1)
其实一个或是几个作为普通的视频源使用的TVideoGrabber组件,可以进行混合来作为一个TVideoGrabber组件使用,这些普通的组件可以是视频捕捉设备或是视频剪辑等.同时这个混合的组件独立于 ...
- 视频处理控件TVideoGrabber如何重新编码视频/音频(2)
在前面的文中<视频处理控件TVideoGrabber如何重新编码视频>已经讲解了部分TVideoGrabber重新编码音频.视频剪辑的内容,下面将继续说明. 重新编码进程 重新编码开始时, ...
- 如何在WPF应用程序中使用视频处理控件TVideoGrabber
要在WPF 中使用 TVideoGrabber 组件,需要像下面的方法来使用 VS.NET(DLL) 版本的组件: ——复制TVideoGrabber_x.x.x.x_x86.dll到c:/windo ...
- 视频处理控件TVideoGrabber部分技术问题解答
TVideoGrabber是一个功能全面.易于使用的视频捕捉工具和多媒体播放器,本文搜集了一些TVideoGrabber的技术问答,并针对于有的朋友遇到的疑难给出了解答. 一.在TVideoGrabb ...
- 视频处理控件TVideoGrabber如何重新编码视频
TVideoGrabber中可以对音频.视频剪辑进行重新编码剪辑,多的朋友知道这个功能更点,但是具体操作上还是不是很熟悉,这里总结一下,主要步骤如下: 1.通过指定开始和停止的时间,可以简单的剪辑视频 ...
- 视频处理控件TVideoGrabber视频捕捉设设备相关问题
选择一个视频捕捉设备 首先设置 VideoSource = vs_VideoCaptureDevice来选择一个视频捕捉设备作为一个视频源. 通过指定VideoDevice属性来选择当前的视频捕捉设备 ...
- 视频处理控件TVideoGrabber如何对屏幕进行录制/压缩
TVideoGrabber可以对屏幕进行录制和压缩,本文来详细的说明在多种情况下TVideoGrabber是如何实现屏幕的录制和压缩. 屏幕录制 当VideoSource = vs_ScreenRec ...
- MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件
类似于多层级的角色与权限控制功能,用MVC实现MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件.最近我们的项目中需要用到树型菜单,以前使用WebForm时,树型菜单有微软提供的 ...
随机推荐
- HTML-002-弹出对话框
日常的网页编程中,弹出对话框经常会以各种形式出现,例如:信息提示框.确认框.新增.修改信息等对话框均是其不同的表现形式. 此文以弹出信息新增对话框进行简要演示,经请参阅! 以下为其对应的结构目录: a ...
- 转载:XPath基本语法
出处:http://www.cnblogs.com/Miko2012/archive/2012/10/26/2740840.html XPath的语法最基本的节点之间用/,属性用@,还有几个函数记住了 ...
- iOS ASIHTTPRequest 请求https
iOS 终端请求服务端数据时,为了保证数据安全,我们一般会使用https协议加密,而对于iOS的网络编程,我们一般会使用开源框架:ASIHTTPRequest,但是如果使用传统的http方式,即使忽略 ...
- div滑入与滑出
html <div class="pop_tit"> <span class="p_tit1" title="大连未来城LECITY ...
- Unofficial Windows Binaries for Python Extension Packages
http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
- linux多个python版本下导致yum报错
问题: $ yum File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^ SyntaxError: invalid ...
- 团队冲刺the second day
今天是我们的团队冲刺的第二天,由于我的电脑出现了一点问题,系统还原了,我有重新配置了一下环境变量和一些eclipse的问题,导致时间浪费了很多,但是我还是做了一些简单的任务,例如编写节日的页面的布局, ...
- 快速理解Docker - 容器级虚拟化解决方案
是什么 简单的说Docker是一个构建在LXC之上的,基于进程容器(Processcontainer)的轻量级VM解决方案 拿现实世界中货物的运输作类比, 为了解决各种型号规格尺寸的货物在各种运输工具 ...
- Json.Net Demo2
新建一个空的Web项目,名称JsonServer,该网页实现Ajax数据请求和响应. 添加Newtonsoft.Json.dll的Dll引用,添加JQuery API文件,目录结构如下: 新建一个Pe ...
- 通常Struts框架会自动地从action mapping中创建action对象
开发者不必在Spring中去注册action,尽管可以这么去做,通常Struts框架会自动地从action mapping中创建action对象 struts2-spring-plugin-x-x-x ...