在視頻處理控件TVideoGrabber中如何設置音頻捕捉設備

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事件就會發生,同時預覽和錄製也會中止。

>>>TVideoGrabber 下載

相關文章
相關標籤/搜索