在HGE里添加音乐,并实时控制音量

    在HGE里添加音频的方法网上很多地方都有写过,HGE的官方例子里也有。但是有了音乐后怎么控制呢?我摸索了下,用的是这种方法:

    首先,在全局申明中定义以下三个变量:

         HEFFECT backMusic;

         HCHANNEL backMusicChannel;

         int volume;//音量

    然后在主函数WinMain的System_Initiate()之后添加以下语句:

         backMusic = hge->Effect_Load("yumantang.mp3");//将电脑中的音频文件关联进来,支持的格式有WAV, MP3, MP2, MP1OGG

         backMusicChannel = hge->Effect_PlayEx(backMusic,volume,0,90.0f,true);//开始播放音频,并将声道存在backMusicChannel中以便后续对其进行操作。Effect_PlayEx函数的五个参数分别为音频资源(HEFFECT)、音量(0~100)、左右声道音量分配(-100~100)、播放频率、是否循环等。

         hge->Channel_SetVolume(backMusicChannel,volume);//设置音量。虽然上面的函数已经设置了音量,但是这里还是重新设置一下。因为不知道为什么,我发现上面那个函数对音量的控制不是很好。不管我怎么改volume,初始音量貌似都是同一个值。

    最后,在FrameFunc()中添加对音量的实时控制语句:

         if( (hge->Input_GetKeyState(HGEK_ADD) || hge->Input_GetKeyState(HGEK_EQUALS)) && volume<100 )

         {

             volume++;

             hge->Channel_SetVolume(backMusicChannel,volume);

         }

        if( (hge->Input_GetKeyState(HGEK_SUBTRACT) || hge->Input_GetKeyState(HGEK_MINUS)) && volume>0 )

        {

             volume--;

             hge->Channel_SetVolume(backMusicChannel,volume);

        }

    这样,每当用户按小键盘上的+、-,或主键盘上的=、-时音量就会随之改变。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值