UE4 音乐的播放与停止--基于蓝图

要实现的功能非常简单:点击按钮,播放音乐

这个功能非常基础,就两步:

1.将音乐源文件拖到context文件夹中。注意,这里的音乐文件必须是.wav格式的

2.在按钮的onclick方法中,调用 play sound 2D 方法,播放指定的音源

但是这么做有一个问题,就是点击多次按钮的话,会直接触发多次 play sound 2D 事件,音乐就会变成N重奏,感觉特别不好。

就想了一个办法进行优化,基础思路是这样:

1.在widget ui中添加一个名叫isPlayMusic的boolean变量,默认值为false,即还未开始播放音乐。

2.在触发onclick事件是,先通过isPlayMusic来判断当前是否开始播放音乐,如果已经开始播放了,就不管它,否则,就调用play sound 2D,播放音乐,并将isPlayMusic设为true

接下来可以实现一些进阶的功能:按一次按钮播放音乐,在按一次停止播放

1.sound wave本身是不支持暂停或者停止功能的,这里需要添加一个audio component类型的变量MusicComponent

2.接下来这一步是关键,使用spawn sound 2D代替 play sound 2D 来播放声音。这个组件会返回一个当前播放音乐的引用,我们接下来就可以用这个引用来控制音乐是否停止播放:

  • 27
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值