FmodAudioStreamPlayer#
用于播放 2D 非空间化音频流的节点
描述#
通过 FMOD 播放 FmodAudioStream ,支持分贝音量、音调倍率、播放控制、扬声器混音目标和总线路由。
属性#
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
方法#
void |
set_stream(stream: FmodAudioStream) |
get_stream() const |
|
void |
|
void |
|
void |
stop() |
void |
set_playing(playing: bool) |
is_playing() const |
|
void |
set_stream_paused(paused: bool) |
get_stream_paused() const |
|
get_playback_position() const |
|
void |
set_volume_db(volume_db: float) |
get_volume_db() const |
|
void |
set_pitch_scale(pitch_scale: float) |
get_pitch_scale() const |
|
void |
set_mix_target(mix_target: MixTarget) |
get_mix_target() const |
|
void |
set_auto_play(enable: bool) |
is_autoplay_enabled() const |
|
void |
set_preload_on_set_stream(enable: bool) |
is_preload_on_set_stream_enabled() const |
|
void |
set_bus(bus: StringName) |
get_bus() const |
信号#
finished()
枚举#
enum MixTarget:
MixTarget MIX_TARGET_STEREO = 0
将音频路由到前置左、右扬声器。
MixTarget MIX_TARGET_SURROUND = 1
将音频路由到所有可用的环绕扬声器。
MixTarget MIX_TARGET_CENTER = 2
将音频路由到中置和 LFE 扬声器。
属性说明#
FmodAudioStream stream
void set_stream(stream: FmodAudioStream)
FmodAudioStream get_stream() const
要播放的音频流资源 (参见 FmodAudioStream )
bool playing = false
设置为 true 开始播放,设置为 false 停止播放
bool stream_paused = false
是否暂停当前播放流
float volume_db = 0.0
播放音量,单位为分贝
float pitch_scale = 1.0
播放速度和音高缩放
MixTarget mix_target = 0
当前播放器使用的扬声器混音目标。
bool auto_play = false
为 true 时,在节点就绪后延迟开始播放,在编辑器中不生效。
bool preload_on_set_stream = false
设置 stream 时是否立即预加载内部 FmodSound
StringName bus = &"Master"
void set_bus(bus: StringName)
StringName get_bus() const
输出到的音频总线名称
方法说明#
void set_stream(stream: FmodAudioStream)
停止当前播放并设置 stream ,之后需调用 play() 开始播放。
FmodAudioStream get_stream() const
返回当前设置的音频流 (参见 FmodAudioStream )
未设置音频流时返回 null 。
bool preload_stream()
通过创建内部 FmodSound 预加载音频流。未设置音频流或声音创建失败时返回 false 。
void play(from_position: float = 0.0)
从 from_position 指定的位置开始或重新播放,单位为秒。位置应为非负数。
void seek(to_position: float)
跳转到指定播放位置,单位为秒
播放或暂停时均可调用。
void stop()
停止播放并清除暂停状态
void set_playing(playing: bool)
控制播放状态。设置为 true 会从头开始播放。
设为 false 会停止播放。
bool is_playing() const
播放通道处于活动状态时返回 true ,暂停时也返回 true 。
void set_stream_paused(paused: bool)
暂停或恢复当前播放流
bool get_stream_paused() const
返回当前播放流的暂停状态
float get_playback_position() const
返回播放位置,单位为秒,暂停时仍可查询。没有有效播放通道时返回 0.0 。
void set_volume_db(volume_db: float)
设置音量,单位为分贝
0.0 为单位增益;负值衰减,正值放大(若支持)。
float get_volume_db() const
返回当前音量,单位为分贝
默认值为 0.0 dB,即单位增益。
void set_pitch_scale(pitch_scale: float)
设置播放速度和音高缩放
1.0 为正常音高。较大的值会提高音高和播放速度。
float get_pitch_scale() const
返回当前播放速度和音高缩放
1.0 为默认音高, 0.5 降低一个八度, 2.0 升高一个八度。
void set_mix_target(mix_target: MixTarget)
设置混音目标。环绕输出下, MIX_TARGET_STEREO 路由到前置左右扬声器, MIX_TARGET_SURROUND 路由到所有扬声器位置, MIX_TARGET_CENTER 路由到中置和 LFE。
MixTarget get_mix_target() const
返回当前播放器用于向扬声器路由音频的混音目标。
void set_auto_play(enable: bool)
设置 auto_play 。自动播放会延迟到节点就绪后执行,在编辑器中不生效。
bool is_autoplay_enabled() const
返回是否启用了 auto_play 。
void set_preload_on_set_stream(enable: bool)
设置是否在赋值 stream 时立即预加载。
bool is_preload_on_set_stream_enabled() const
如果启用了赋值时预加载,则返回 true 。
void set_bus(bus: StringName)
设置下次创建播放通道时使用的总线。修改此值不会改变现有通道的路由。
在 FmodAudioBusLayout 中找不到该总线时,播放使用主通道组。
StringName get_bus() const
返回当前输出总线名称
默认值为 &"Master" 。