//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 loyalsoft. All rights reserved.
// Homepage: http://www.game7000.com/
// Feedback: http://www.game7000.com/
//------------------------------------------------------------
namespace GameFramework.Sound
{
///
/// 声音代理接口。
///
public interface ISoundAgent
{
///
/// 获取所在的声音组。
///
ISoundGroup SoundGroup
{
get;
}
///
/// 获取声音的序列编号。
///
int SerialId
{
get;
}
///
/// 获取当前是否正在播放。
///
bool IsPlaying
{
get;
}
///
/// 获取声音长度。
///
float Length
{
get;
}
///
/// 获取或设置播放位置。
///
float Time
{
get;
set;
}
///
/// 获取或设置是否静音。
///
bool Mute
{
get;
}
///
/// 获取或设置在声音组内是否静音。
///
bool MuteInSoundGroup
{
get;
set;
}
///
/// 获取或设置是否循环播放。
///
bool Loop
{
get;
set;
}
///
/// 获取或设置声音优先级。
///
int Priority
{
get;
set;
}
///
/// 获取音量大小。
///
float Volume
{
get;
}
///
/// 获取或设置在声音组内音量大小。
///
float VolumeInSoundGroup
{
get;
set;
}
///
/// 获取或设置声音音调。
///
float Pitch
{
get;
set;
}
///
/// 获取或设置声音立体声声相。
///
float PanStereo
{
get;
set;
}
///
/// 获取或设置声音空间混合量。
///
float SpatialBlend
{
get;
set;
}
///
/// 获取或设置声音最大距离。
///
float MaxDistance
{
get;
set;
}
///
/// 获取或设置声音多普勒等级。
///
float DopplerLevel
{
get;
set;
}
///
/// 获取声音代理辅助器。
///
ISoundAgentHelper Helper
{
get;
}
///
/// 播放声音。
///
void Play();
///
/// 播放声音。
///
/// 声音淡入时间,以秒为单位。
void Play(float fadeInSeconds);
///
/// 停止播放声音。
///
void Stop();
///
/// 停止播放声音。
///
/// 声音淡出时间,以秒为单位。
void Stop(float fadeOutSeconds);
///
/// 暂停播放声音。
///
void Pause();
///
/// 暂停播放声音。
///
/// 声音淡出时间,以秒为单位。
void Pause(float fadeOutSeconds);
///
/// 恢复播放声音。
///
void Resume();
///
/// 恢复播放声音。
///
/// 声音淡入时间,以秒为单位。
void Resume(float fadeInSeconds);
///
/// 重置声音代理。
///
void Reset();
}
}