AudioStreamRandomizer

继承: AudioStream < Resource < RefCounted < Object

用音高和音量偏移,包装一个音频流池。

描述

根据播放模式,从池中随机选择一个 AudioStream,并在播放期间应用随机音高偏移和音量偏移。

属性

PlaybackMode

playback_mode

0

float

random_pitch

1.0

float

random_volume_offset_db

0.0

int

streams_count

0

方法

void

add_stream ( int index, AudioStream stream, float weight=1.0 )

AudioStream

get_stream ( int index ) const

float

get_stream_probability_weight ( int index ) const

void

move_stream ( int index_from, int index_to )

void

remove_stream ( int index )

void

set_stream ( int index, AudioStream stream )

void

set_stream_probability_weight ( int index, float weight )


枚举

enum PlaybackMode:

PlaybackMode PLAYBACK_RANDOM_NO_REPEATS = 0

根据为每个流选择的概率权重随机挑选一个流,但尽可能避免连续两次播放同一个流。如果池中只有 1 个声音,则将始终播放同一个声音,从而有效地允许重复发生。

PlaybackMode PLAYBACK_RANDOM = 1

根据为每个流选择的概率权重随机挑选一个流。如果池中只有 1 个声音,则将始终播放同一个声音。

PlaybackMode PLAYBACK_SEQUENTIAL = 2

按照流池中出现的顺序播放流。如果池中只有 1 个声音,则将始终播放同一个声音。


属性说明

PlaybackMode playback_mode = 0

控制该 AudioStreamRandomizer 如何选择下一个要播放的 AudioStream。


float random_pitch = 1.0

  • void set_random_pitch ( float value )

  • float get_random_pitch ( )

随机音高变化的强度。值为 1 表示没有变化。


float random_volume_offset_db = 0.0

  • void set_random_volume_offset_db ( float value )

  • float get_random_volume_offset_db ( )

随机音量变化的强度。值为 0 表示没有变化。


int streams_count = 0

  • void set_streams_count ( int value )

  • int get_streams_count ( )

流池中流的数量。


方法说明

void add_stream ( int index, AudioStream stream, float weight=1.0 )

在指定索引处插入一个流。如果索引小于零,则插入发生在底层池的末尾。


AudioStream get_stream ( int index ) const

返回指定索引处的流。


float get_stream_probability_weight ( int index ) const

返回与给定索引处的流关联的概率权重。


void move_stream ( int index_from, int index_to )

将流从一个索引移动到另一个索引。


void remove_stream ( int index )

移除指定索引处的流。


void set_stream ( int index, AudioStream stream )

设置指定索引处的 AudioStream。


void set_stream_probability_weight ( int index, float weight )

设置流在指定索引处的概率权重。该值越高,随机化器在随机播放模式下选择该流的可能性就越大。

Previous Next


© 版权所有 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0). Revision b1c660f7.

Built with Sphinx using a theme provided by Read the Docs.