AudioServer
继承: Object
低级音频访问的服务器接口。
描述
AudioServer 是用于音频访问的底层服务器接口。它负责创建样本数据(可播放的音频)以及通过语音接口进行播放。
教程
属性
| ||
| ||
| ||
|
方法
void | |
void | add_bus_effect ( int bus_idx, AudioEffect effect, int at_position=-1 ) |
generate_bus_layout ( ) const | |
get_bus_channels ( int bus_idx ) const | |
get_bus_effect ( int bus_idx, int effect_idx ) | |
get_bus_effect_count ( int bus_idx ) | |
get_bus_effect_instance ( int bus_idx, int effect_idx, int channel=0 ) | |
get_bus_index ( StringName bus_name ) const | |
get_bus_name ( int bus_idx ) const | |
get_bus_peak_volume_left_db ( int bus_idx, int channel ) const | |
get_bus_peak_volume_right_db ( int bus_idx, int channel ) const | |
get_bus_send ( int bus_idx ) const | |
get_bus_volume_db ( int bus_idx ) const | |
get_mix_rate ( ) const | |
get_output_latency ( ) const | |
get_speaker_mode ( ) const | |
get_time_since_last_mix ( ) const | |
get_time_to_next_mix ( ) const | |
is_bus_bypassing_effects ( int bus_idx ) const | |
is_bus_effect_enabled ( int bus_idx, int effect_idx ) const | |
is_bus_mute ( int bus_idx ) const | |
is_bus_solo ( int bus_idx ) const | |
void | lock ( ) |
void | |
void | remove_bus ( int index ) |
void | remove_bus_effect ( int bus_idx, int effect_idx ) |
void | set_bus_bypass_effects ( int bus_idx, bool enable ) |
void | set_bus_effect_enabled ( int bus_idx, int effect_idx, bool enabled ) |
void | set_bus_layout ( AudioBusLayout bus_layout ) |
void | set_bus_mute ( int bus_idx, bool enable ) |
void | set_bus_name ( int bus_idx, String name ) |
void | set_bus_send ( int bus_idx, StringName send ) |
void | set_bus_solo ( int bus_idx, bool enable ) |
void | set_bus_volume_db ( int bus_idx, float volume_db ) |
void | set_enable_tagging_used_audio_streams ( bool enable ) |
void | swap_bus_effects ( int bus_idx, int effect_idx, int by_effect_idx ) |
void | unlock ( ) |
信号
bus_layout_changed ( )
添加、修改、删除音频总线时发出。
bus_renamed ( int bus_index, StringName old_name, StringName new_name )
当索引为 bus_index
的音频总线的名称从 old_name
更改为 new_name
时发出。
枚举
enum SpeakerMode:
SpeakerMode SPEAKER_MODE_STEREO = 0
检测到两个或更少的扬声器。
SpeakerMode SPEAKER_SURROUND_31 = 1
检测到 3.1 声道环绕声设置。
SpeakerMode SPEAKER_SURROUND_51 = 2
检测到 5.1 声道环绕声设置。
SpeakerMode SPEAKER_SURROUND_71 = 3
检测到 7.1 声道环绕声设置。
属性说明
int bus_count = 1
可用音频总线的数量。
String input_device = "Default"
当前音频输入设备的名称(见 get_input_device_list)。在具有多个音频输入(例如模拟、USB、HDMI 音频)的系统中,可用于选择音频输入设备。为 "Default"
时会从系统默认的音频输入录制音频。如果设置了无效的设备名称,该值会被恢复为 "Default"
。
注意:ProjectSettings.audio/driver/enable_input 必须为 true
音频输入才能正常工作。另请参阅该设置项的描述,了解权限和操作系统隐私设置相关的说明。
String output_device = "Default"
当前音频输出设备的名称(见 get_output_device_list)。在具有多个音频输出(例如模拟、USB、HDMI 音频)的系统中,可用于选择音频输出设备。为 "Default"
时会从系统默认的音频输出播放音频。如果设置了无效的设备名称,该值会被恢复为 "Default"
。
float playback_speed_scale = 1.0
音频播放的缩放速率(即将其设置为 0.5
将使音频以其一半的速度播放)。
方法说明
void add_bus ( int at_position=-1 )
在 at_position
处添加一条总线。
void add_bus_effect ( int bus_idx, AudioEffect effect, int at_position=-1 )
为在 at_position
处索引为 bus_idx
的总线添加 AudioEffect 效果。
AudioBusLayout generate_bus_layout ( ) const
使用可用的总线和效果来生成 AudioBusLayout。
int get_bus_channels ( int bus_idx ) const
返回索引为 bus_idx
的总线的通道数。
AudioEffect get_bus_effect ( int bus_idx, int effect_idx )
返回索引为 bus_idx
的总线中位于 effect_idx
的 AudioEffect。
int get_bus_effect_count ( int bus_idx )
返回索引为 bus_idx
的总线上的效果数。
AudioEffectInstance get_bus_effect_instance ( int bus_idx, int effect_idx, int channel=0 )
返回分配给给定总线和效果索引(以及可选的通道)的AudioEffectInstance。
int get_bus_index ( StringName bus_name ) const
返回名称为 bus_name
的总线的索引。如果不存在指定名称的总线,则返回 -1
。
String get_bus_name ( int bus_idx ) const
返回索引为 bus_idx
的总线的名称。
float get_bus_peak_volume_left_db ( int bus_idx, int channel ) const
返回总线索引为 bus_idx
且通道索引为 channel
处的左扬声器的峰值音量。
float get_bus_peak_volume_right_db ( int bus_idx, int channel ) const
返回总线索引为 bus_idx
且通道索引为 channel
处的右扬声器的峰值音量。
StringName get_bus_send ( int bus_idx ) const
返回索引为 bus_idx
的总线的发送目标总线的名称。
float get_bus_volume_db ( int bus_idx ) const
返回索引为 bus_idx
的总线的音量,单位为 dB。
PackedStringArray get_input_device_list ( )
返回系统中检测到的所有音频输入设备的名称。
注意:ProjectSettings.audio/driver/enable_input 必须为 true
音频输入才能正常工作。另请参阅该设置的说明,了解与权限和操作系统隐私设置相关的注意事项。
float get_mix_rate ( ) const
返回 AudioServer 输出的采样率。
PackedStringArray get_output_device_list ( )
返回系统中检测到的所有音频输出设备的名称。
float get_output_latency ( ) const
返回音频驱动的实际输出延迟。基于 ProjectSettings.audio/driver/output_latency,但实际的返回值取决于操作系统和音频驱动。
注意:可能开销较大;不建议每帧都调用 get_output_latency。
SpeakerMode get_speaker_mode ( ) const
返回扬声器的配置。
float get_time_since_last_mix ( ) const
返回自上次混合以来的相对时间。
float get_time_to_next_mix ( ) const
返回下一次混合之前的相对时间。
bool is_bus_bypassing_effects ( int bus_idx ) const
如果为 true
,则索引为 bus_idx
的总线会绕过效果。
bool is_bus_effect_enabled ( int bus_idx, int effect_idx ) const
如果为 true
,则索引为 bus_idx
的总线上启用了索引为 effect_idx
的效果。
bool is_bus_mute ( int bus_idx ) const
如果为 true
,则索引为 bus_idx
的总线已静音。
bool is_bus_solo ( int bus_idx ) const
如果为 true
,则索引为 bus_idx
的总线处于独奏模式。
void lock ( )
锁定音频驱动程序的主循环。
注意:之后记得解锁。
void move_bus ( int index, int to_index )
将总线从索引 index
移动到索引 to_index
。
void remove_bus ( int index )
移除索引 index
处的总线。
void remove_bus_effect ( int bus_idx, int effect_idx )
将索引 effect_idx
的效果从索引 bus_idx
的总线上移除。
void set_bus_bypass_effects ( int bus_idx, bool enable )
如果为 true
,则索引为 bus_idx
的总线会绕过效果。
void set_bus_effect_enabled ( int bus_idx, int effect_idx, bool enabled )
如果为 true
,则索引为 bus_idx
的总线上启用了索引为 effect_idx
的效果。
void set_bus_layout ( AudioBusLayout bus_layout )
覆盖当前使用的 AudioBusLayout。
void set_bus_mute ( int bus_idx, bool enable )
如果为 true
,则索引为 bus_idx
的总线已静音。
void set_bus_name ( int bus_idx, String name )
将索引为 bus_idx
的总线的名称设为 name
。
void set_bus_send ( int bus_idx, StringName send )
将索引为 bus_idx
处的总线输出连接到名为 send
的总线。
void set_bus_solo ( int bus_idx, bool enable )
如果为 true
,则索引为 bus_idx
的总线处于独奏模式。
void set_bus_volume_db ( int bus_idx, float volume_db )
将索引为 bus_idx
的总线的音量设为 volume_db
。
void set_enable_tagging_used_audio_streams ( bool enable )
目前没有这个方法的描述。请帮我们贡献一个!
void swap_bus_effects ( int bus_idx, int effect_idx, int by_effect_idx )
在索引为 bus_idx
的总线中交换两个效果的位置。
void unlock ( )
解锁音频驱动程序的主循环。(锁定后,你始终需要手动解锁它。)
© 版权所有 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.