47 lines
1.0 KiB
C++
47 lines
1.0 KiB
C++
#ifndef HGL_AUDIO_MANAGE_INCLUDE
|
||
#define HGL_AUDIO_MANAGE_INCLUDE
|
||
|
||
#include<hgl/type/List.h>
|
||
namespace hgl
|
||
{
|
||
class AudioSource;
|
||
class AudioBuffer;
|
||
|
||
/**
|
||
* 简单的音频播放管理,为一般应用的简单操作工具
|
||
*/
|
||
class AudioManage
|
||
{
|
||
struct AudioItem
|
||
{
|
||
AudioSource *source;
|
||
AudioBuffer *buffer;
|
||
|
||
AudioItem();
|
||
~AudioItem();
|
||
|
||
bool Check();
|
||
void Play(const os_char *,float);
|
||
};//struct AudioItem
|
||
|
||
ObjectList<AudioItem> Items;
|
||
|
||
public:
|
||
|
||
/**
|
||
* 本类构造函数
|
||
* @param count 创建的音源数量,默认为8
|
||
*/
|
||
AudioManage(int count=8);
|
||
~AudioManage();
|
||
|
||
/**
|
||
* 播放一个音效
|
||
* @param filename 文件名
|
||
* @param gain 音量,默认为1
|
||
*/
|
||
bool Play(const os_char *filename,float gain=1);
|
||
};//class AudioManage
|
||
}//namespace hgl
|
||
#endif//HGL_AUDIO_MANAGE_INCLUDEE
|