UE5蓝图中播放背景音乐和使用代码播放声音

UE5蓝图中播放背景音乐

1.创建背景音乐Cube

2.勾选looping 循环播放背景音乐

3.在关卡蓝图中
Event BeginPlay-PlaySound2D
Sound选择自己创建的Bgm_Cube

蓝图播放声音方法二:

使用代码播放声音方法一

.h文件中

头文件引用

cpp 复制代码
#include "Kismet/GameplayStatics.h"

头文件声音定义声明

cpp 复制代码
private:
	
	USoundBase* Sound;

.cpp文件中

写在Sets default values中的代码

不写在BeginPlay()中最好,在BeginPlay()中不报错能运行,但是打包之后测试会没有声音

cpp 复制代码
Sound = LoadObject<USoundBase>(NULL, TEXT("'/Game/SnakeAudio/EatFood.EatFood'"));//加载引用虚幻编辑器中的音频,加单引号,不加_C

写在需要播放声音的函数方法中

cpp 复制代码
if (Sound) //避免空指针
{
	UGameplayStatics::PlaySound2D(this, Sound);//播放声音
}

使用代码播放声音方法二

.h文件中

头文件引用

cpp 复制代码
#include "Kismet/GameplayStatics.h"

头文件声音定义声明

cpp 复制代码
private:
	USoundWave* GameOverAudio;
    USoundWave* FoodAudio;

.cpp文件中

写在Sets default values中的代码

不写在BeginPlay()中最好,在BeginPlay()中不报错能运行,但是打包之后测试会没有声音

cpp 复制代码
//加载引用虚幻编辑器中的音频,加单引号,不加_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);

写在需要播放声音的函数方法中

cpp 复制代码
	UGameplayStatics::PlaySound2D(GetWorld(), GameOverAudio, 1.0f);
	UGameplayStatics::PlaySound2D(GetWorld(), FoodAudio, 1.0f);
相关推荐
小成202303202657 分钟前
数据结构(整理常见结构总结到树层级)
java·c语言·数据结构·c++·链表
ximu_polaris8 分钟前
设计模式(C++)-结构型模式-外观模式
c++·设计模式·外观模式
Xiu Yan17 分钟前
Java 转 C++ 系列:STL常用函数
java·开发语言·c++·stl·visual studio
沫璃染墨24 分钟前
C++ std::list 深度解析:迭代器、splice 核心接口与排序效率全解
开发语言·c++
艾莉丝努力练剑25 分钟前
【Linux网络】计算机网络入门:从背景到协议,理解网络通信基础
linux·运维·服务器·c++·学习·计算机网络
艾莉丝努力练剑25 分钟前
【Linux线程】Linux系统多线程(十):线程安全和重入、死锁相关话题
java·linux·运维·服务器·c++·学习·安全
没有天赋那就反复26 分钟前
C++里面引用参数和实参的区别
开发语言·c++·算法
ximu_polaris30 分钟前
设计模式(C++)-创造型模式-建造者模式
c++·设计模式·建造者模式
TIEM_6934 分钟前
C++string接口(下)|修改器、字符串操作、成员常量、非成员函数重载
开发语言·c++
AbandonForce37 分钟前
C++ 多态(多态定义 多态应用 多态底层||final override关键字||抽象类)
java·开发语言·c++