博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在视频处理控件TVideoGrabber中如何设置音频捕捉设备
阅读量:6451 次
发布时间:2019-06-23

本文共 1508 字,大约阅读时间需要 5 分钟。

hot3.png

不仅可以捕捉视频,还可以作为多媒体播放器,并支持包括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事件就会发生,同时预览和录制也会停止。

>>>

转载于:https://my.oschina.net/u/912699/blog/156405

你可能感兴趣的文章
Netty in Action笔记(Chapter 3)Netty from the ground up
查看>>
记一次凉凉的小米前端面试(应届内推)
查看>>
[C#6] 0-概览
查看>>
锤子开源 Smartisan T1/T2、坚果 Pro 等手机内核源代码
查看>>
openSUSE Tumbleweed 支持 Linux Kernel 4.20
查看>>
在C#中使用Spire.doc对word的操作总结
查看>>
jvm调优
查看>>
限流和降级(上) | 如何打造平台稳定性能力(一)
查看>>
Dubbo 生态添新兵,Dubbo Admin 发布 v0.1
查看>>
穿越东西冲,享受最美海岸线
查看>>
前端优化系列 - 初始化的性能影响
查看>>
Markdown基本语法
查看>>
产品经理上线自查清单
查看>>
算法导论——用于不相交集合的数据结构
查看>>
Docker技术剖析:Docker背后的内核知识
查看>>
运维调试笔记:python中pip下载速度慢问题解决
查看>>
笔记:密码学 Week 6
查看>>
Javascript - 函数里传的是值还是引用?
查看>>
社区已正式上线屏蔽功能,不喜欢就「加灰」吧!
查看>>
Latex beamer书签乱码解决方法
查看>>