UE5蓝图中播放背景音乐
1.创建背景音乐Cube
2.勾选looping 循环播放背景音乐
3.在关卡蓝图中
Event BeginPlay-PlaySound2D
Sound选择自己创建的Bgm_Cube
蓝图播放声音方法二:
使用代码播放声音方法一
.h文件中
头文件引用
#include "Kismet/GameplayStatics.h"
头文件声音定义声明
private:
USoundBase* Sound;
.cpp文件中
写在Sets default values中的代码
不写在BeginPlay()中最好,在BeginPlay()中不报错能运行,但是打包之后测试会没有声音
Sound = LoadObject<USoundBase>(NULL, TEXT("'/Game/SnakeAudio/EatFood.EatFood'"));//加载引用虚幻编辑器中的音频,加单引号,不加_C
写在需要播放声音的函数方法中
if (Sound) //避免空指针
{
UGameplayStatics::PlaySound2D(this, Sound);//播放声音
}
使用代码播放声音方法二
.h文件中
头文件引用
#include "Kismet/GameplayStatics.h"
头文件声音定义声明
private:
USoundWave* GameOverAudio;
USoundWave* FoodAudio;
.cpp文件中
写在Sets default values中的代码
不写在BeginPlay()中最好,在BeginPlay()中不报错能运行,但是打包之后测试会没有声音
//加载引用虚幻编辑器中的音频,加单引号,不加_C
auto food = StaticLoadObject(UObject::StaticClass(), nullptr, TEXT("'/Game/SnakeAudio/EatFood.EatFood'"));
auto hit = StaticLoadObject(UObject::StaticClass(), nullptr, TEXT("'/Game/SnakeAudio/Hit.Hit'"));
GameOverAudio = Cast<USoundWave>(hit);
FoodAudio = Cast<USoundWave>(food);
写在需要播放声音的函数方法中
UGameplayStatics::PlaySound2D(GetWorld(), GameOverAudio, 1.0f);
UGameplayStatics::PlaySound2D(GetWorld(), FoodAudio, 1.0f);