聲卡 line in 音量大小的取得 |
尚未結案
|
CSSC
一般會員 發表:1 回覆:1 積分:0 註冊:2003-11-26 發送簡訊給我 |
各位好! 我是一個程序新手,請教一個問題: 我想實時取得聲卡線路輸入口輸入的聲音的音量,用以記錄音源的音量大小。主要是用來平衡外部輸入聲音的音量,解決音源大小不一引起的困擾。這里我只是想取得音量而不是高音或者低音以及其他。 還有一個問題!我看到論壇上有過高手討論聲道復制的問題! 其實這個問題真的比較復雜,我請教不少高手都沒有解決,象有的realplay的rm節目壓縮時沒有處理好!就出現左右聲道不同語言的問題,我們看這樣的節目的時候就是關閉一邊喇叭或者調均衡關掉一邊聲音,播放時就有一個喇叭不會發聲音了! 我解決這個問題是把音頻線改裝了,把兩個聲道接到一起,呵呵,聲音是有了,可也引起一些困擾,希望高手們能指點一二。復制內存里面的聲音數據理論上一定可以,可實在才疏學淺,一直沒有成功啊! 發表人 - cssc 於 2003/11/28 15:06:06 發表人 - cssc 於 2003/11/28 15:08:23
|
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
CSSC兄您好:
小弟對這方面不太熟, 希望下面的文章對你有幫助
http://delphi.about.com/cs/adptips2000/a/bltip0800_4.htm 另站上有一篇
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=40087 發表人 - miles 於 2003/11/28 20:34:44
------
我不是高手, 高手是正在銀幕前微笑的人. |
CSSC
一般會員 發表:1 回覆:1 積分:0 註冊:2003-11-26 發送簡訊給我 |
Thinks Miles: //獲得當前音量值
procedure TForm1.FormCreate(Sender: TObject);
var
v:longint;
begin
waveOutGetVolume(0,@v);
TrackBar2.Position:=hi(v);
TrackBar3.Position:=hi(v shr 16);
if hi(v)>hi(v shr 16) then
TrackBar1.Position:=hi(v)
else
TrackBar1.Position:=hi(v shr 16);
end; 这里取得的好象是当前wave设置的音量大小不是声卡播放的声音的大小啊!
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |