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中设置音频捕捉设备的更多相关文章

  1. 视频处理控件TVideoGrabber中如何混合多个视频源(2)

    在前面的<视频处理控件TVideoGrabber混合多个视频源(1)>一文中,已经对TVideoGrabber中混合视频源做了一些内容的说明,本文将继续前文: >>>TV ...

  2. 视频处理控件TVideoGrabber中如何混合多个视频源(1)

    其实一个或是几个作为普通的视频源使用的TVideoGrabber组件,可以进行混合来作为一个TVideoGrabber组件使用,这些普通的组件可以是视频捕捉设备或是视频剪辑等.同时这个混合的组件独立于 ...

  3. 视频处理控件TVideoGrabber如何重新编码视频/音频(2)

    在前面的文中<视频处理控件TVideoGrabber如何重新编码视频>已经讲解了部分TVideoGrabber重新编码音频.视频剪辑的内容,下面将继续说明. 重新编码进程 重新编码开始时, ...

  4. 如何在WPF应用程序中使用视频处理控件TVideoGrabber

    要在WPF 中使用 TVideoGrabber 组件,需要像下面的方法来使用 VS.NET(DLL) 版本的组件: ——复制TVideoGrabber_x.x.x.x_x86.dll到c:/windo ...

  5. 视频处理控件TVideoGrabber部分技术问题解答

    TVideoGrabber是一个功能全面.易于使用的视频捕捉工具和多媒体播放器,本文搜集了一些TVideoGrabber的技术问答,并针对于有的朋友遇到的疑难给出了解答. 一.在TVideoGrabb ...

  6. 视频处理控件TVideoGrabber如何重新编码视频

    TVideoGrabber中可以对音频.视频剪辑进行重新编码剪辑,多的朋友知道这个功能更点,但是具体操作上还是不是很熟悉,这里总结一下,主要步骤如下: 1.通过指定开始和停止的时间,可以简单的剪辑视频 ...

  7. 视频处理控件TVideoGrabber视频捕捉设设备相关问题

    选择一个视频捕捉设备 首先设置 VideoSource = vs_VideoCaptureDevice来选择一个视频捕捉设备作为一个视频源. 通过指定VideoDevice属性来选择当前的视频捕捉设备 ...

  8. 视频处理控件TVideoGrabber如何对屏幕进行录制/压缩

    TVideoGrabber可以对屏幕进行录制和压缩,本文来详细的说明在多种情况下TVideoGrabber是如何实现屏幕的录制和压缩. 屏幕录制 当VideoSource = vs_ScreenRec ...

  9. MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件

    类似于多层级的角色与权限控制功能,用MVC实现MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件.最近我们的项目中需要用到树型菜单,以前使用WebForm时,树型菜单有微软提供的 ...

随机推荐

  1. 好网站:字体转换器在线转换 http://www.diyiziti.com/

    偶然间发现这个网站,它可以将文字设置字体并做成图片,也有很多好的字体下载如瘦金体. 下载下来的ttf文件在win7里可以右键点击install,在vista和xp里可以直接拷贝到window\font ...

  2. SQLServer如何处理数据集的维度变化

    Student表有三列,分别是姓名.课程.成绩 Name Curricula Mark 张三 语文 70 李四 数学 80 王朝 英语 59 城南 马哲 70 王朝 语文 90 我想得到的效果是,列出 ...

  3. 阿里云数据库实例的一个db被开发人员删除了 如何恢复

    1没有 逻辑备份的话. 如下操作即可 可以将那个临时实例的需要导的db用逻辑备份出来恢复到主实例就行了 好多朋友都在问,RDS中把数据恢复到7天内任意时间点的功能在哪里啊? 其实挺简单的,只需要五步操 ...

  4. VI设置及用法

    VI设置通过/etc/vim/vimrc设置vi的基本操作格式. 全局属性通过末行模式输入可临时设置. syntax on ;高亮显示 set tabstop=4 setsofttabstop=4 ; ...

  5. Vue.2.0.5-Class 与 Style 绑定

    Class 与 Style 绑定 数据绑定一个常见需求是操作元素的 class 列表和它的内联样式.因为它们都是属性 ,我们可以用v-bind 处理它们:只需要计算出表达式最终的字符串.不过,字符串拼 ...

  6. iOS navigationbar 透明

    [self.navigationController.navigationBar setTranslucent:YES]; //    为什么要加这个呢,shadowImage 是在ios6.0以后才 ...

  7. C# MVC提交表单的四种方式(转)

    Mvc 提交表单的4种方法全程详解(转) 一,MVC  HtmlHelper方法 Html.BeginForm(actionName,controllerName,method,htmlAttribu ...

  8. C# 生成二维码,彩色二维码,带有Logo的二维码及普通条形码

    每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默.我眼中的程序员大多都不 ...

  9. Java基础之处理事件——选项按钮的鼠标监听器(Lottery 2 with mouse listener)

    控制台程序. 定义监听器类有许多方式.下面把监听器类定义为单独的类MouseHandler: // Mouse event handler for a selection button import ...

  10. PostgreSQL Replication之第十三章 使用PL/Proxy扩展(1)

    在这里添加一个slave,真的有一个很好的可扩展性的策略,这基本上足以满足大多数现代应用程序.使用一台服务器的情况下,许多应用程序就会完美地运行,您可能想添加以副本以给基础设施增加一些安全,但在许多情 ...