原創(chuàng)|使用教程|編輯:郝浩|2013-08-19 14:29:28.000|閱讀 371 次
概述:TVideoGrabber是一款支持包括C#、.NET、VB.NET、C++、Delphi、C++Builder和ActiveX平臺(tái)在內(nèi)的視頻處理控件,不僅可以捕捉視頻,還可以作為多媒體播放器。本文將剖析TVideoGrabber的音頻捕捉設(shè)備。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
TVideoGrabber不僅可以捕捉視頻,還可以作為多媒體播放器,并支持包括C#、.NET、VB.NET、C++、Delphi、C++Builder和ActiveX平臺(tái),本文將剖析TVideoGrabber的音頻捕捉設(shè)備。
音頻源
如果AudioSource = as_Default(默認(rèn)值),視頻捕捉設(shè)備的音頻輸出將會(huì)用于記錄(如果這個(gè)設(shè)備公開一個(gè)的音頻輸出,比如一個(gè)DV camcorder),否則這個(gè)當(dāng)前音頻捕捉設(shè)備的音頻輸出將會(huì)被使用。
如果AudioSource設(shè)置為as_UseExternalAudio,當(dāng)前音頻捕捉設(shè)備將用于記錄,即使視頻捕捉設(shè)備有一個(gè)音頻輸出了。
音頻捕捉設(shè)備
當(dāng)前音頻捕捉裝置是由AudioDevice選擇,這個(gè)是在AudioDevices列表中的一個(gè)索引,包含了AudioDevicesCount項(xiàng)目。
也可以通過使用FindIndexInListByName功能,按名稱的方式編程選擇audiop捕獲設(shè)備,比如:當(dāng)前的音頻捕獲設(shè)備的名稱由AudioDeviceName報(bào)告。
VideoGrabber.AudioDevice := VideoGrabber.FindIndexInListByName (VideoGrabber.AudioDevices, 'name of my audio device', false, true);
AudioDevices 和 AudioDevices count在Delphi 和C++Builder中可以作為全局變量使用。
設(shè)備相關(guān)的屬性
當(dāng)選中了一個(gè)音頻捕捉設(shè)備,與其設(shè)備相關(guān)的屬性會(huì)從注冊(cè)表重新導(dǎo)入,并發(fā)生OnAudioDeviceSelected事件,因此任何控件使用比如音頻輸出,需要從這個(gè)事件刷新。
音頻輸入
在選擇了音頻捕獲設(shè)備后,AudioInputs列表會(huì)返回對(duì)于這個(gè)音頻輸入可用的音頻輸出列表。通過分配在列表中的音頻輸入到音頻輸入設(shè)備,可以選擇一個(gè)音頻輸出。
音頻輸入電平
可以調(diào)整音頻輸入電平適應(yīng)于AudioInputLevel(在0..65535中)范圍。
音頻輸入平衡
在32768...32767范圍中(中心點(diǎn)是0),音頻輸入平衡可以被調(diào)整來適應(yīng)于AudioInputBalance。
音頻輸入是否可用,取決于音頻輸入。當(dāng)運(yùn)行預(yù)覽或是錄制時(shí),如果音頻平衡可用,IsAudioInputBalanceAvailable會(huì)返回ts_True,如果不可用,就會(huì)返回ts_False。如果預(yù)覽和錄制停止的話,將會(huì)返回ts_Undefined。
音頻錄制
當(dāng)啟用了 AudioRecording時(shí),當(dāng)前的音頻捕捉設(shè)備的錄制就會(huì)被激活。
音頻渲染
當(dāng)啟用了 AudioDeviceRendering 時(shí),就會(huì)激活音頻渲染。
音量可以調(diào)整適應(yīng)于AudioVolume,音頻平衡適應(yīng)于AudioBalance。
啟用/禁用的MuteAudioRendering屬性可以靜音。
這些設(shè)置僅影響渲染的平衡音量和音頻,而不是錄音的音量和平衡。
設(shè)備連接/斷開
當(dāng)音頻捕捉設(shè)備連接或斷開時(shí),會(huì)發(fā)生OnDeviceArrivalOrRemoval事件,這個(gè)事件在全局列表中的音頻捕捉設(shè)備的索引和名字。
一旦連接了一個(gè)音頻捕捉設(shè)備被斷開后,IsAudioDeviceConnected會(huì)返回true,直到這個(gè)設(shè)備被重新連接。
如果相關(guān)的設(shè)備被用于預(yù)覽或是錄制使用,當(dāng)設(shè)備斷開連接的時(shí)候,這個(gè)OnDeviceLost事件就會(huì)發(fā)生,同時(shí)預(yù)覽和錄制也會(huì)停止。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件