TVideoGrabber不只能够捕捉视频,还能够做为多媒体播放器,并支持包括C#、.NET、VB.NET、C++、Delphi、C++Builder和ActiveX平台,本文将剖析TVideoGrabber的音频捕捉设备。 html
音频源 编程
若是AudioSource = as_Default(默认值),视频捕捉设备的音频输出将会用于记录(若是这个设备公开一个的音频输出,好比一个DV camcorder),不然这个当前音频捕捉设备的音频输出将会被使用。 并发
若是AudioSource设置为as_UseExternalAudio,当前音频捕捉设备将用于记录,即便视频捕捉设备有一个音频输出了。 ide
音频捕捉设备 ui
当前音频捕捉装置是由AudioDevice选择,这个是在AudioDevices列表中的一个索引,包含了AudioDevicesCount项目。 spa
也能够经过使用FindIndexInListByName功能,按名称的方式编程选择audiop捕获设备,好比:当前的音频捕获设备的名称由AudioDeviceName报告。 视频
1
|
VideoGrabber.AudioDevice := VideoGrabber.FindIndexInListByName (VideoGrabber.AudioDevices,'name of my audio device',false,true);
|
AudioDevices 和 AudioDevices count在Delphi 和C++Builder中能够做为全局变量使用。 htm
设备相关的属性 blog
当选中了一个音频捕捉设备,与其设备相关的属性会从注册表从新导入,并发生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事件就会发生,同时预览和录制也会中止。