線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2867
推到 Plurk!
推到 Facebook!

請問如何做出音效的前後跟距離的效果

尚未結案
Naruto
一般會員


發表:20
回覆:19
積分:7
註冊:2003-03-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-05 20:05:47 IP:61.56.xxx.xxx 未訂閱
如題,請問該如何表現音效的距離感與前後的效果, 非常感謝
shieh2700
高階會員


發表:0
回覆:127
積分:100
註冊:2002-06-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-23 20:14:19 IP:61.216.xxx.xxx 未訂閱
引言: 如題,請問該如何表現音效的距離感與前後的效果, 非常感謝
距離感可用音量的大小來模擬, 聲音愈大代表愈靠近, 聲音愈小代表距離愈來愈遠. 至於前後或左右的效果, 可籍由控制各聲道的音量來摸擬. 可參考下列網址中的實驗. http://www.ied.edu.hk/has/phys/sound/doppler2.htm
superlevin
高階會員


發表:181
回覆:313
積分:180
註冊:2003-01-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-26 09:51:20 IP:211.76.xxx.xxx 未訂閱
可以參考http://www.x-sound.com/b5/001/003/00000011.htm http://imlab.cs.nccu.edu.tw/project/old/CSProj97/s8444/csproj/final2/ 另外有一本DirectX VB.NET 3D電玩程式設計實例入門,裡面有一章節以實例說明DirectSound應用程式,音量調整及3D音效在遊戲中的功用與使用方法。 程式不是寫來玩的 而是要創造價值
------
林壽山
網站: http://superlevin.ifengyuan.tw
mail: superlevin@gmail.com
superlevin
高階會員


發表:181
回覆:313
積分:180
註冊:2003-01-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-26 13:53:16 IP:211.76.xxx.xxx 未訂閱
轉貼控制左右聲道 //音量控制 procedure TForm1.TrackBar1Change(Sender: TObject); var t,v:Longint; begin // if a=0 then Exit; t:=TrackBar1.Position; v:=(t shl 8)or(t shl 24); waveOutSetVolume(0,v); end; procedure tform1.trackbar1changer (sender:tobject);//左聲道 var t,v:longint; begin t:=trackbar1.postion; wavoutgetvolume(0,@v); v:=v and $ffff0000 or (t shl 8); wavoutsetvolume(0,v); end; procedure tform1.trackbar2changer (sender:tobject);//右聲道 var t,v:longint; begin t:=trackbar2.postion; wavoutgetvolume(0,@v); v:=v and $0000ffff or (t shl 24); wavoutsetvolume(0,v); end; //獲得當前音量值 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; end. 函數說明: waveOutSetVolume 第一個參數是波形檔輸出設備識別字; 第二個參婁是音量大小。這是一個32位元的整數,低16位元表示左聲道的音量, 高16位元表示右聲道的音量。 waveOutGetVolume 第一個參數是波形檔輸出設備識別字; 第二個參數是一個32位元整數的指標。 可以用auxoutsetvolume(id:integer,volume:dword);具體使用方法請查閱DELPHI help,WIN32SDK.HLP。 其中ID是設備代號,我在實際編程中發現ID隨著機器的不同而不同,但是他可以直接控制各種設備的音量,你可以用不同的ID試一試(ID一般在1~8之間),音量設置方法wjiachun好像沒錯! 程式不是寫來玩的 而是要創造價值
------
林壽山
網站: http://superlevin.ifengyuan.tw
mail: superlevin@gmail.com
Naruto
一般會員


發表:20
回覆:19
積分:7
註冊:2003-03-18

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-12-19 12:52:09 IP:61.56.xxx.xxx 未訂閱
非常感謝
s8556026
一般會員


發表:10
回覆:43
積分:15
註冊:2003-07-26

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-02-09 22:57:04 IP:61.231.xxx.xxx 未訂閱
來看看 http://www.fmod.org 不僅左右,而是 "3D" 還有…支援 bcb、delphi、vc、vb… "免費"下載 簡單易用…功能強…
系統時間:2024-11-23 6:59:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!