如何在视频处理控件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时,树型菜单有微软提供的 ...
随机推荐
- js中的类GET方法
其实是通过js语句自己建的函数 function request(strParame){ var args = new Object(); ); var pairs = query.split(&qu ...
- qt 控件 背景色 透明 除去边框
在调试ui的时候,需要将背景色变为透明,与母控件的颜色一致,并且除去边框. 参考链接: http://www.qtcentre.org/threads/12148-how-QTextEdit-tran ...
- @MyBatis中的if...else...
<select id="selectSelective" resultMap="xxx" parameterType="xxx"> ...
- JQuery:JQuery操作CSS类
JQuery:CSS类jQuery - 获取并设置 CSS 类,通过 jQuery,可以很容易地对 CSS 元素进行操作.jQuery 操作 CSSjQuery 拥有若干进行 CSS 操作的方法.我们 ...
- java实现读取文件内容(不同类型)
在一些项目中大量的数据经常需要从文件中读取,例如xml文件,txt文件,csv文件 1.读取本地的xml文件,需要注意对应的路径 //读取xml文件,xmlFile为读取文件的路径 DocumentB ...
- onRetainNonConfigurationInstance和getLastNonConfigurationInstance
很多网友可能知道Android横竖屏切换时会触发onSaveInstanceState,而还原时会产生 onRestoreInstanceState,但是Android的Activity类还有一个方法 ...
- C# --通过枚举获取系统颜色
public static System.Drawing.Color GetSystemColor(int i) { Array Colors = System.Enum.GetValues(type ...
- window操作技巧
word中符号替换 1. 在网页复制内容时,下箭头用"^l"表示(字母L小写),回车用"^p"表示,可用替换命令全局替换(ctrl+f). 2. 添加底纹菜单在 ...
- 在Hyper-V的虚拟机中使用无线网络
今天在WINDOWS 8.1中装了WINDOWS 7的虚拟机,但默认情况下只能共享有线网络,而没有无线网络. 解决方法: http://www.elmajdal.net/Win2k8/Enabling ...
- cache与SDRAM
hugohong hugohong 本版等级: #2 得分:20回复于: 2009-04-19 21:51:03 牛人说的,拿出来分享一下:cache是高速缓冲, 解决高速cpu和相对低速sdra ...