AudioStreamPlayback
继承: RefCounted < Object
派生: AudioStreamPlaybackInteractive, AudioStreamPlaybackPlaylist, AudioStreamPlaybackPolyphonic, AudioStreamPlaybackResampled, AudioStreamPlaybackSynchronized
播放音频的元类。
描述
可以播放、循环播放、暂停滚动播放音频。有关用法,请参阅 AudioStream 和 AudioStreamOggVorbis。
教程
方法
_get_loop_count() virtual const |
|
_get_parameter(name: StringName) virtual const |
|
_get_playback_position() virtual required const |
|
_is_playing() virtual required const |
|
_mix(buffer: |
|
void |
|
void |
_set_parameter(name: StringName, value: Variant) virtual |
void |
|
void |
_stop() virtual required |
void |
_tag_used_streams() virtual |
get_loop_count() const |
|
get_playback_position() const |
|
get_sample_playback() const |
|
is_playing() const |
|
void |
|
void |
set_sample_playback(playback_sample: AudioSamplePlayback) |
void |
|
void |
stop() |
方法说明
int _get_loop_count() virtual const 🔗
可覆盖的方法。应该返回该音频流已经循环了多少次。大多数内置播放始终返回 0。
Variant _get_parameter(name: StringName) virtual const 🔗
按名称返回播放参数的当前值(请参阅 AudioStream._get_parameter_list())。
float _get_playback_position() virtual required const 🔗
可覆盖的方法。应返回音频流的当前进度,单位为秒。
bool _is_playing() virtual required const 🔗
可覆盖的方法。如果该播放处于活动状态并正在播放其音频流,则应返回 true。
int _mix(buffer: AudioFrame*, rate_scale: float, frames: int) virtual required 🔗
覆盖该方法以自定义音频流的混合方式。即使播放未激活,也会调用该方法。
注意:在 GDScript 或 C# 中覆盖该方法没有用。只有 GDExtension 可以利用它。
void _seek(position: float) virtual 🔗
覆盖该方法以自定义在给定的 position 处查找该音频流时发生的情况,例如通过调用 AudioStreamPlayer.seek()。
void _set_parameter(name: StringName, value: Variant) virtual 🔗
按名称设置播放参数的当前值(请参阅 AudioStream._get_parameter_list())。
void _start(from_pos: float) virtual required 🔗
覆盖该方法以自定义在给定位置开始播放时发生的情况,例如通过调用 AudioStreamPlayer.play() 覆盖。
void _stop() virtual required 🔗
覆盖该方法以自定义播放停止时发生的情况,例如通过调用 AudioStreamPlayer.stop() 覆盖。
void _tag_used_streams() virtual 🔗
可覆盖的方法。如果播放处于活动状态并且 AudioServer.set_enable_tagging_used_audio_streams() 已被设置为 true,则每当混合音频流时调用。编辑器插件可以使用该方法以“标记”音频流中的当前位置并将其显示在预览中。
返回音频流已循环的次数。
float get_playback_position() const 🔗
返回音频流中的当前位置,单位为秒。
AudioSamplePlayback get_sample_playback() const 🔗
实验性: 未来版本中可能会修改或移除该方法。
返回与该 AudioStreamPlayback 相关联的、用于播放该流的音频样本的 AudioSamplePlayback,。
音频流正在播放时,返回 true。
PackedVector2Array mix_audio(rate_scale: float, frames: int) 🔗
从当前位置开始,以 rate_scale 的速率混合音频流中最多 frames 帧音频,并推进流的位置。
返回一个PackedVector2Array,其中每个元素对应包含每个帧的左右声道音量。
注意:可能返回少于请求的帧数,请确定使用返回值的size。
void seek(time: float = 0.0) 🔗
跳转到音频流中给定的时间点 time,单位为秒。
void set_sample_playback(playback_sample: AudioSamplePlayback) 🔗
实验性: 未来版本中可能会修改或移除该方法。
将 AudioSamplePlayback 与该 AudioStreamPlayback 关联以播放该流的音频样本。
void start(from_pos: float = 0.0) 🔗
从给定的位置 from_pos 开始播放音频流,单位为秒。
void stop() 🔗
停止音频流。