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

音频 更多...

#include <Sound.h>

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

Public 成员函数

 Sound (StringView file_path)
 创建音频对象 更多...
 
 Sound (const Resource &res, StringView ext="")
 创建音频对象 更多...
 
 Sound (RefPtr< AudioData > data)
 创建音频对象 更多...
 
void Play (int loop_count=0)
 播放 更多...
 
void Pause ()
 暂停
 
void Resume ()
 继续
 
void Stop ()
 停止
 
void Close ()
 关闭并销毁资源
 
bool IsPlaying () const
 是否正在播放
 
float GetVolume () const
 获取音量
 
void SetVolume (float volume)
 设置音量 更多...
 
void AddCallback (RefPtr< SoundCallback > callback)
 添加回调
 
List< RefPtr< SoundCallback > > & GetCallbacks ()
 获取所有回调
 
const List< RefPtr< SoundCallback > > & GetCallbacks () const
 获取所有回调
 
- Public 成员函数 继承自 kiwano::NativeObject
const AnyGetNative () const
 
template<class _Ty >
_Ty GetNative () const
 
void SetNative (const Any &native)
 
void ResetNative ()
 
bool IsValid () const override
 判断对象是否有效 更多...
 
- 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 成员函数

bool Load (RefPtr< AudioData > data)
 
RefPtr< SoundCallbackGetCallbackChain ()
 
void ResetVolume ()
 

友元

class Module
 
class SoundPlayer
 

额外继承的成员函数

- 静态 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
 
- Protected 属性 继承自 kiwano::NativeObject
Any native_
 

详细描述

音频

构造及析构函数说明

◆ Sound() [1/3]

kiwano::audio::Sound::Sound ( StringView  file_path)

创建音频对象

参数
file_path本地音频文件路径

◆ Sound() [2/3]

kiwano::audio::Sound::Sound ( const Resource res,
StringView  ext = "" 
)

创建音频对象

参数
res音频资源
ext音频类型,决定了使用何种解码器

◆ Sound() [3/3]

kiwano::audio::Sound::Sound ( RefPtr< AudioData data)

创建音频对象

参数
data音频数据

成员函数说明

◆ Play()

void kiwano::audio::Sound::Play ( int  loop_count = 0)

播放

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

◆ SetVolume()

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

设置音量

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