Kiwano Engine v1.3.x
kiwano::audio::SoundPlayer类 参考

音频播放器 更多...

#include <SoundPlayer.h>

类 kiwano::audio::SoundPlayer 继承关系图:
kiwano::ObjectBase kiwano::RefObject kiwano::Serializable kiwano::Noncopyable

Public 类型

using SoundList = List< RefPtr< Sound > >
 

Public 成员函数

RefPtr< AudioDataPreload (StringView file_path)
 预加载音频
 
RefPtr< AudioDataPreload (const Resource &res, StringView ext="")
 预加载音频资源
 
void Play (RefPtr< Sound > sound, int loop_count=0)
 播放音频 更多...
 
RefPtr< SoundPlay (StringView file_path, int loop_count=0)
 播放音频 更多...
 
RefPtr< SoundPlay (const Resource &res, int loop_count=0)
 播放音频 更多...
 
void PauseAll ()
 暂停所有音频
 
void ResumeAll ()
 继续播放所有音频
 
void StopAll ()
 停止所有音频
 
const SoundList & GetPlayingList () const
 获取正在播放的音频列表
 
float GetVolume () const
 获取音量
 
void SetVolume (float volume)
 设置音量 更多...
 
void ClearCache ()
 清空缓存
 
- Public 成员函数 继承自 kiwano::ObjectBase
 ObjectBase ()
 构造基础对象
 
void SetName (StringView name)
 设置对象名
 
StringView GetName () const
 获取对象名
 
bool IsName (StringView name) const
 判断对象的名称是否相同 更多...
 
void * GetUserData () const
 获取用户数据
 
void SetUserData (void *data)
 设置用户数据 更多...
 
void Hold (RefPtr< ObjectBase > other)
 持有一个对象并管理其生命周期 更多...
 
void Unhold (RefPtr< ObjectBase > other)
 放弃持有的对象 更多...
 
uint64_t GetObjectID () const
 获取对象ID
 
void DoSerialize (Serializer *serializer) const override
 序列化 更多...
 
void DoDeserialize (Deserializer *deserializer) override
 反序列化 更多...
 
virtual bool IsValid () const
 判断对象是否有效 更多...
 
ObjectStatusGetStatus () const
 获取对象状态
 
void SetStatus (const ObjectStatus &status)
 设置对象状态
 
void Fail (StringView msg, int code=ObjectStatus::fail)
 将对象标记为失败状态
 
void ClearStatus ()
 清除对象状态
 
- Public 成员函数 继承自 kiwano::RefObject
void Retain ()
 增加引用计数
 
void Release ()
 减少引用计数
 
uint32_t GetRefCount () const
 获取引用计数
 
- Public 成员函数 继承自 kiwano::Serializable
Vector< uint8_t > Serialize () const
 序列化为字节串
 
void Deserialize (const Vector< uint8_t > &data)
 从字节串反序列化
 
virtual void DoSerialize (Serializer *serializer) const =0
 执行序列化 更多...
 
virtual void DoDeserialize (Deserializer *deserializer)=0
 执行反序列化 更多...
 

Protected 成员函数

void OnEnd (Sound *sound)
 
float OnVolumeChanged (Sound *sound, float volume)
 
void SetCallback (Sound *sound)
 
void RemoveCallback (Sound *sound)
 
void ClearTrash ()
 

Protected 属性

float volume_
 
SoundList sound_list_
 
SoundList trash_
 
RefPtr< SoundCallbackcallback_
 
UnorderedMap< size_t, RefPtr< AudioData > > cache_
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 kiwano::ObjectBase
static void SetObjectPolicy (const ObjectPolicyFunc &policy)
 设置对象处理策略
 
static bool IsTracingLeaks ()
 是否启用了内存泄漏追踪
 
static void StartTracingLeaks ()
 开始追踪内存泄漏
 
static void StopTracingLeaks ()
 停止追踪内存泄漏
 
static void DumpTracingObjects ()
 打印所有追踪中的对象信息
 
static Vector< ObjectBase * > & GetTracingObjects ()
 获取所有追踪中的对象
 
- 静态 Public 成员函数 继承自 kiwano::RefObject
static void * operator new (size_t size)
 
static void operator delete (void *ptr)
 
static void * operator new (size_t size, std::nothrow_t const &) noexcept
 
static void operator delete (void *ptr, std::nothrow_t const &) noexcept
 
static void * operator new (size_t size, void *ptr) noexcept
 
static void operator delete (void *ptr, void *place) noexcept
 

详细描述

音频播放器

成员函数说明

◆ Play() [1/3]

RefPtr< Sound > kiwano::audio::SoundPlayer::Play ( const Resource res,
int  loop_count = 0 
)

播放音频

参数
res音频资源
loop_count播放循环次数,设置 -1 为循环播放

◆ Play() [2/3]

void kiwano::audio::SoundPlayer::Play ( RefPtr< Sound sound,
int  loop_count = 0 
)

播放音频

参数
sound音频
loop_count播放循环次数,设置 -1 为循环播放

◆ Play() [3/3]

RefPtr< Sound > kiwano::audio::SoundPlayer::Play ( StringView  file_path,
int  loop_count = 0 
)

播放音频

参数
file_path本地音频文件路径
loop_count播放循环次数,设置 -1 为循环播放

◆ SetVolume()

void kiwano::audio::SoundPlayer::SetVolume ( float  volume)

设置音量

参数
volume音量大小,1.0 为原始音量, 大于 1 为放大音量, 0 为最小音量