FMOD(2)

1.      设置声音可听见的最小和最远距离。API: Sound::set3DMinMaxDistance(float min, float max)
程序中: sound1->set3DMinMaxDistance(2.0f * DISTANCEFACTOR, 10000.0f * DISTANCEFACTOR);
min: 最小距离
max: 最大距离
2.      开始播放音乐。API:
FMOD_RESULT System::playSound(FMOD_CHANNELINDEX channelid,FMOD::Sound *sound, 
boolpaused, FMOD::Channel **channel);
程序中: result = system->playSound(FMOD_CHANNEL_FREE, sound1, true, &channel1);
FMOD_CHANNELINDEX 得到空闲的声道。
FMOD::Sound 之前定义好的声音变量
bool  paused 事后停止
FMOD::Channel 得到的声道的指针
3.      设置声道的位置以及速度。 API FMOD_RESULT Channel::set3DAttributes(const FMOD_VECTOR * pos ,                
const FMOD_VECTOR * vel ); 
     程序中: result = channel1->set3DAttributes(&pos, &vel);
     pos :声道位置
     vel :声道速度
4.      得到当前可得到的2d和3d的数目。API:
FMOD_RESULT System::getHardwareChannels(int *num2d,int *num3d,int*total);
程序中result = system->getHardwareChannels(&num2d, &num3d, 0);
num2d可以混合3d的数目
num3d:可以混合2d的数目
totaltotal = num3d + num2d
5.      更新3d的位置速度和方向。API:
FMOD_RESULT System::set3DListenerAttributes(intlistener, const FMOD_VECTOR *pos, 
      const FMOD_VECTOR *vel, const FMOD_VECTOR *forward,const FMOD_VECTOR *up);
程序中: result = system->set3DListenerAttributes(0, &listenerpos, &vel, &forward, &up);
listener :如果环境中只有一个听者,则设置为0
pos :听者的位置
vel :从声音的起始位置到达听者耳朵时,每一秒的位移
forward :听者前方的方向
up :听者上方的方向
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值