easyx_framework V1.0.0
基于easyx的c++游戏框架
 
载入中...
搜索中...
未找到
AudioManager类 参考

全局音频管理 单例懒汉模式 更多...

#include <AudioManager.h>

Public 成员函数

void Initialize ()
 初始化.
 
void SetBGVolume (int vol)
 设置背影音量.
 
void Play (std::string name, bool repeat=false)
 播放音乐.
 
void Stop ()
 停止播放.
 
void Remove (std::string name)
 移除音乐资源.
 
void SetRandom (bool random)
 设置是否随机播放.
 
void NextSound ()
 只有调用这个函数才会切换到下一首并播放.
 
void Pause ()
 暂停音乐
 
void Resume ()
 继续音乐
 
void Load (std::string name)
 加载音频.
 

静态 Public 成员函数

static AudioManagerinstance ()
 获取实例.
 

Private 成员函数

 AudioManager ()
 
 ~AudioManager ()
 关闭所有音频并且从资源池中移除.
 
int UpdateIndex ()
 更新次序 返回之后的下一个下标
 
void Play (bool repeat=false)
 播放音乐.
 
void Close ()
 关闭当前音乐 释放资源 内部管理
 
void Next ()
 切换下一首音乐
 

Private 属性

std::unordered_map< std::string, std::string > paths
 由名字访问路径
 
std::unordered_map< std::string, int > indexmap
 实现播放顺序的存储 值代表次序
 
std::string currentpath ="null"
 当前播放音乐路径
 
int SettingVol = 1000
 全局音量系数 原始0~1000 映射到0~SettingVol
 
int BGVol = 0
 背景音量
 
bool repeat =false
 是否重复播放
 
bool random = false
 是否随机播放
 
bool next = false
 外部访问next只是设置符号位
 

静态 Private 属性

static AudioManagermanager = nullptr
 
static std::mutex m_Mutex
 

详细描述

全局音频管理 单例懒汉模式

只支持播放背景音乐 一次一首.

参见
ResourceManager

构造及析构函数说明

◆ AudioManager()

AudioManager::AudioManager ( )
inlineprivate

◆ ~AudioManager()

AudioManager::~AudioManager ( )
private

关闭所有音频并且从资源池中移除.

成员函数说明

◆ Close()

void AudioManager::Close ( )
private

关闭当前音乐 释放资源 内部管理

关闭当前正在播放的音频.

并且释放当前资源.

◆ Initialize()

void AudioManager::Initialize ( )

初始化.

提前加载音乐

◆ instance()

AudioManager * AudioManager::instance ( )
static

获取实例.

返回
实例指针

◆ Load()

void AudioManager::Load ( std::string name)

加载音频.

参数
音频名称

◆ Next()

void AudioManager::Next ( )
private

切换下一首音乐

获取下一次播放的次序.

◆ NextSound()

void AudioManager::NextSound ( )

只有调用这个函数才会切换到下一首并播放.

◆ Pause()

void AudioManager::Pause ( )

暂停音乐

◆ Play() [1/2]

void AudioManager::Play ( bool repeat = false)
private

播放音乐.

播放下一首

参数
是否重复默认不重复

◆ Play() [2/2]

void AudioManager::Play ( std::string name,
bool repeat = false )

播放音乐.

参数
音频名称
是否重复播放默认不重复

◆ Remove()

void AudioManager::Remove ( std::string name)

移除音乐资源.

参数
音频名字

◆ Resume()

void AudioManager::Resume ( )

继续音乐

◆ SetBGVolume()

void AudioManager::SetBGVolume ( int vol)

设置背影音量.

受全局音量影响

参数
设置音量

◆ SetRandom()

void AudioManager::SetRandom ( bool random)

设置是否随机播放.

参数
是否随机播放ture是 false否

◆ Stop()

void AudioManager::Stop ( )

停止播放.

◆ UpdateIndex()

int AudioManager::UpdateIndex ( )
private

更新次序 返回之后的下一个下标

类成员变量说明

◆ BGVol

int AudioManager::BGVol = 0
private

背景音量

◆ currentpath

std::string AudioManager::currentpath ="null"
private

当前播放音乐路径

◆ indexmap

std::unordered_map< std::string,int > AudioManager::indexmap
private

实现播放顺序的存储 值代表次序

◆ m_Mutex

std::mutex AudioManager::m_Mutex
staticprivate

◆ manager

AudioManager * AudioManager::manager = nullptr
staticprivate

◆ next

bool AudioManager::next = false
private

外部访问next只是设置符号位

◆ paths

std::unordered_map< std::string, std::string > AudioManager::paths
private

由名字访问路径

◆ random

bool AudioManager::random = false
private

是否随机播放

◆ repeat

bool AudioManager::repeat =false
private

是否重复播放

◆ SettingVol

int AudioManager::SettingVol = 1000
private

全局音量系数 原始0~1000 映射到0~SettingVol