Files
godot-docs-l10n/classes/zh_CN/class_audioserver.rst
Rémi Verschelde 9581bc9bb3 Sync class reference translations with upstream 4.x
Still only zh_CN for now.
zh_TW is near 100% complete, but it has hundreds of validation errors
which need to be fixed first.
2023-11-21 16:13:45 +01:00

782 lines
39 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. DO NOT EDIT THIS FILE!!!
.. Generated automatically from Godot engine sources.
.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioServer.xml.
.. _class_AudioServer:
AudioServer
===========
**继承:** :ref:`Object<class_Object>`
低级音频访问的服务器接口。
.. rst-class:: classref-introduction-group
描述
----
**AudioServer** 是用于音频访问的底层服务器接口。它负责创建样本数据(可播放的音频)以及通过语音接口进行播放。
.. rst-class:: classref-introduction-group
教程
----
- :doc:`音频总线 <../tutorials/audio/audio_buses>`
- `音频设备切换演示 <https://godotengine.org/asset-library/asset/525>`__
- `音频麦克风录音演示 <https://godotengine.org/asset-library/asset/527>`__
- `音频频谱演示 <https://godotengine.org/asset-library/asset/528>`__
.. rst-class:: classref-reftable-group
属性
----
.. table::
:widths: auto
+-----------------------------+------------------------------------------------------------------------------+---------------+
| :ref:`int<class_int>` | :ref:`bus_count<class_AudioServer_property_bus_count>` | ``1`` |
+-----------------------------+------------------------------------------------------------------------------+---------------+
| :ref:`String<class_String>` | :ref:`input_device<class_AudioServer_property_input_device>` | ``"Default"`` |
+-----------------------------+------------------------------------------------------------------------------+---------------+
| :ref:`String<class_String>` | :ref:`output_device<class_AudioServer_property_output_device>` | ``"Default"`` |
+-----------------------------+------------------------------------------------------------------------------+---------------+
| :ref:`float<class_float>` | :ref:`playback_speed_scale<class_AudioServer_property_playback_speed_scale>` | ``1.0`` |
+-----------------------------+------------------------------------------------------------------------------+---------------+
.. rst-class:: classref-reftable-group
方法
----
.. table::
:widths: auto
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_bus<class_AudioServer_method_add_bus>` **(** :ref:`int<class_int>` at_position=-1 **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_bus_effect<class_AudioServer_method_add_bus_effect>` **(** :ref:`int<class_int>` bus_idx, :ref:`AudioEffect<class_AudioEffect>` effect, :ref:`int<class_int>` at_position=-1 **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`AudioBusLayout<class_AudioBusLayout>` | :ref:`generate_bus_layout<class_AudioServer_method_generate_bus_layout>` **(** **)** |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_bus_channels<class_AudioServer_method_get_bus_channels>` **(** :ref:`int<class_int>` bus_idx **)** |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`AudioEffect<class_AudioEffect>` | :ref:`get_bus_effect<class_AudioServer_method_get_bus_effect>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_bus_effect_count<class_AudioServer_method_get_bus_effect_count>` **(** :ref:`int<class_int>` bus_idx **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`AudioEffectInstance<class_AudioEffectInstance>` | :ref:`get_bus_effect_instance<class_AudioServer_method_get_bus_effect_instance>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`int<class_int>` channel=0 **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_bus_index<class_AudioServer_method_get_bus_index>` **(** :ref:`StringName<class_StringName>` bus_name **)** |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_bus_name<class_AudioServer_method_get_bus_name>` **(** :ref:`int<class_int>` bus_idx **)** |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_bus_peak_volume_left_db<class_AudioServer_method_get_bus_peak_volume_left_db>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` channel **)** |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_bus_peak_volume_right_db<class_AudioServer_method_get_bus_peak_volume_right_db>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` channel **)** |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`StringName<class_StringName>` | :ref:`get_bus_send<class_AudioServer_method_get_bus_send>` **(** :ref:`int<class_int>` bus_idx **)** |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_bus_volume_db<class_AudioServer_method_get_bus_volume_db>` **(** :ref:`int<class_int>` bus_idx **)** |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_input_device_list<class_AudioServer_method_get_input_device_list>` **(** **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_mix_rate<class_AudioServer_method_get_mix_rate>` **(** **)** |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_output_device_list<class_AudioServer_method_get_output_device_list>` **(** **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_output_latency<class_AudioServer_method_get_output_latency>` **(** **)** |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`SpeakerMode<enum_AudioServer_SpeakerMode>` | :ref:`get_speaker_mode<class_AudioServer_method_get_speaker_mode>` **(** **)** |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_time_since_last_mix<class_AudioServer_method_get_time_since_last_mix>` **(** **)** |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_time_to_next_mix<class_AudioServer_method_get_time_to_next_mix>` **(** **)** |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_bus_bypassing_effects<class_AudioServer_method_is_bus_bypassing_effects>` **(** :ref:`int<class_int>` bus_idx **)** |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_bus_effect_enabled<class_AudioServer_method_is_bus_effect_enabled>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)** |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_bus_mute<class_AudioServer_method_is_bus_mute>` **(** :ref:`int<class_int>` bus_idx **)** |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_bus_solo<class_AudioServer_method_is_bus_solo>` **(** :ref:`int<class_int>` bus_idx **)** |const| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`lock<class_AudioServer_method_lock>` **(** **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`move_bus<class_AudioServer_method_move_bus>` **(** :ref:`int<class_int>` index, :ref:`int<class_int>` to_index **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_bus<class_AudioServer_method_remove_bus>` **(** :ref:`int<class_int>` index **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_bus_effect<class_AudioServer_method_remove_bus_effect>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_bus_bypass_effects<class_AudioServer_method_set_bus_bypass_effects>` **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_bus_effect_enabled<class_AudioServer_method_set_bus_effect_enabled>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`bool<class_bool>` enabled **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_bus_layout<class_AudioServer_method_set_bus_layout>` **(** :ref:`AudioBusLayout<class_AudioBusLayout>` bus_layout **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_bus_mute<class_AudioServer_method_set_bus_mute>` **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_bus_name<class_AudioServer_method_set_bus_name>` **(** :ref:`int<class_int>` bus_idx, :ref:`String<class_String>` name **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_bus_send<class_AudioServer_method_set_bus_send>` **(** :ref:`int<class_int>` bus_idx, :ref:`StringName<class_StringName>` send **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_bus_solo<class_AudioServer_method_set_bus_solo>` **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_bus_volume_db<class_AudioServer_method_set_bus_volume_db>` **(** :ref:`int<class_int>` bus_idx, :ref:`float<class_float>` volume_db **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_enable_tagging_used_audio_streams<class_AudioServer_method_set_enable_tagging_used_audio_streams>` **(** :ref:`bool<class_bool>` enable **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`swap_bus_effects<class_AudioServer_method_swap_bus_effects>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`int<class_int>` by_effect_idx **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`unlock<class_AudioServer_method_unlock>` **(** **)** |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
信号
----
.. _class_AudioServer_signal_bus_layout_changed:
.. rst-class:: classref-signal
**bus_layout_changed** **(** **)**
添加、修改、删除音频总线时发出。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_signal_bus_renamed:
.. rst-class:: classref-signal
**bus_renamed** **(** :ref:`int<class_int>` bus_index, :ref:`StringName<class_StringName>` old_name, :ref:`StringName<class_StringName>` new_name **)**
当索引为 ``bus_index`` 的音频总线的名称从 ``old_name`` 更改为 ``new_name`` 时发出。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
枚举
----
.. _enum_AudioServer_SpeakerMode:
.. rst-class:: classref-enumeration
enum **SpeakerMode**:
.. _class_AudioServer_constant_SPEAKER_MODE_STEREO:
.. rst-class:: classref-enumeration-constant
:ref:`SpeakerMode<enum_AudioServer_SpeakerMode>` **SPEAKER_MODE_STEREO** = ``0``
检测到两个或更少的扬声器。
.. _class_AudioServer_constant_SPEAKER_SURROUND_31:
.. rst-class:: classref-enumeration-constant
:ref:`SpeakerMode<enum_AudioServer_SpeakerMode>` **SPEAKER_SURROUND_31** = ``1``
检测到 3.1 声道环绕声设置。
.. _class_AudioServer_constant_SPEAKER_SURROUND_51:
.. rst-class:: classref-enumeration-constant
:ref:`SpeakerMode<enum_AudioServer_SpeakerMode>` **SPEAKER_SURROUND_51** = ``2``
检测到 5.1 声道环绕声设置。
.. _class_AudioServer_constant_SPEAKER_SURROUND_71:
.. rst-class:: classref-enumeration-constant
:ref:`SpeakerMode<enum_AudioServer_SpeakerMode>` **SPEAKER_SURROUND_71** = ``3``
检测到 7.1 声道环绕声设置。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
属性说明
--------
.. _class_AudioServer_property_bus_count:
.. rst-class:: classref-property
:ref:`int<class_int>` **bus_count** = ``1``
.. rst-class:: classref-property-setget
- void **set_bus_count** **(** :ref:`int<class_int>` value **)**
- :ref:`int<class_int>` **get_bus_count** **(** **)**
可用音频总线的数量。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_property_input_device:
.. rst-class:: classref-property
:ref:`String<class_String>` **input_device** = ``"Default"``
.. rst-class:: classref-property-setget
- void **set_input_device** **(** :ref:`String<class_String>` value **)**
- :ref:`String<class_String>` **get_input_device** **(** **)**
当前音频输入设备的名称(见 :ref:`get_input_device_list<class_AudioServer_method_get_input_device_list>`\ 。在具有多个音频输入例如模拟、USB、HDMI 音频)的系统中,可用于选择音频输入设备。为 ``"Default"`` 时会从系统默认的音频输入录制音频。如果设置了无效的设备名称,该值会被恢复为 ``"Default"``\ 。
\ **注意:**\ :ref:`ProjectSettings.audio/driver/enable_input<class_ProjectSettings_property_audio/driver/enable_input>` 必须为 ``true`` 音频输入才能正常工作。另请参阅该设置项的描述,了解权限和操作系统隐私设置相关的说明。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_property_output_device:
.. rst-class:: classref-property
:ref:`String<class_String>` **output_device** = ``"Default"``
.. rst-class:: classref-property-setget
- void **set_output_device** **(** :ref:`String<class_String>` value **)**
- :ref:`String<class_String>` **get_output_device** **(** **)**
当前音频输出设备的名称(见 :ref:`get_output_device_list<class_AudioServer_method_get_output_device_list>`\ 。在具有多个音频输出例如模拟、USB、HDMI 音频)的系统中,可用于选择音频输出设备。为 ``"Default"`` 时会从系统默认的音频输出播放音频。如果设置了无效的设备名称,该值会被恢复为 ``"Default"``\ 。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_property_playback_speed_scale:
.. rst-class:: classref-property
:ref:`float<class_float>` **playback_speed_scale** = ``1.0``
.. rst-class:: classref-property-setget
- void **set_playback_speed_scale** **(** :ref:`float<class_float>` value **)**
- :ref:`float<class_float>` **get_playback_speed_scale** **(** **)**
音频播放的缩放速率(即将其设置为 ``0.5`` 将使音频以其一半的速度播放)。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
方法说明
--------
.. _class_AudioServer_method_add_bus:
.. rst-class:: classref-method
void **add_bus** **(** :ref:`int<class_int>` at_position=-1 **)**
``at_position`` 处添加一条总线。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_add_bus_effect:
.. rst-class:: classref-method
void **add_bus_effect** **(** :ref:`int<class_int>` bus_idx, :ref:`AudioEffect<class_AudioEffect>` effect, :ref:`int<class_int>` at_position=-1 **)**
为在 ``at_position`` 处索引为 ``bus_idx`` 的总线添加 :ref:`AudioEffect<class_AudioEffect>` 效果。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_generate_bus_layout:
.. rst-class:: classref-method
:ref:`AudioBusLayout<class_AudioBusLayout>` **generate_bus_layout** **(** **)** |const|
使用可用的总线和效果来生成 :ref:`AudioBusLayout<class_AudioBusLayout>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_get_bus_channels:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_bus_channels** **(** :ref:`int<class_int>` bus_idx **)** |const|
返回索引为 ``bus_idx`` 的总线的通道数。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_get_bus_effect:
.. rst-class:: classref-method
:ref:`AudioEffect<class_AudioEffect>` **get_bus_effect** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)**
返回索引为 ``bus_idx`` 的总线中位于 ``effect_idx``:ref:`AudioEffect<class_AudioEffect>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_get_bus_effect_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_bus_effect_count** **(** :ref:`int<class_int>` bus_idx **)**
返回索引为 ``bus_idx`` 的总线上的效果数。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_get_bus_effect_instance:
.. rst-class:: classref-method
:ref:`AudioEffectInstance<class_AudioEffectInstance>` **get_bus_effect_instance** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`int<class_int>` channel=0 **)**
返回分配给给定总线和效果索引(以及可选的通道)的\ :ref:`AudioEffectInstance<class_AudioEffectInstance>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_get_bus_index:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_bus_index** **(** :ref:`StringName<class_StringName>` bus_name **)** |const|
返回名称为 ``bus_name`` 的总线的索引。如果不存在指定名称的总线,则返回 ``-1``\ 。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_get_bus_name:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_bus_name** **(** :ref:`int<class_int>` bus_idx **)** |const|
返回索引为 ``bus_idx`` 的总线的名称。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_get_bus_peak_volume_left_db:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_bus_peak_volume_left_db** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` channel **)** |const|
返回总线索引为 ``bus_idx`` 且通道索引为 ``channel`` 处的左扬声器的峰值音量。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_get_bus_peak_volume_right_db:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_bus_peak_volume_right_db** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` channel **)** |const|
返回总线索引为 ``bus_idx`` 且通道索引为 ``channel`` 处的右扬声器的峰值音量。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_get_bus_send:
.. rst-class:: classref-method
:ref:`StringName<class_StringName>` **get_bus_send** **(** :ref:`int<class_int>` bus_idx **)** |const|
返回索引为 ``bus_idx`` 的总线的发送目标总线的名称。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_get_bus_volume_db:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_bus_volume_db** **(** :ref:`int<class_int>` bus_idx **)** |const|
返回索引为 ``bus_idx`` 的总线的音量,单位为 dB。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_get_input_device_list:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_input_device_list** **(** **)**
返回系统中检测到的所有音频输入设备的名称。
\ **注意:**\ :ref:`ProjectSettings.audio/driver/enable_input<class_ProjectSettings_property_audio/driver/enable_input>` 必须为 ``true`` 音频输入才能正常工作。另请参阅该设置的说明,了解与权限和操作系统隐私设置相关的注意事项。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_get_mix_rate:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_mix_rate** **(** **)** |const|
返回 **AudioServer** 输出的采样率。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_get_output_device_list:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_output_device_list** **(** **)**
返回系统中检测到的所有音频输出设备的名称。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_get_output_latency:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_output_latency** **(** **)** |const|
返回音频驱动的实际输出延迟。基于 :ref:`ProjectSettings.audio/driver/output_latency<class_ProjectSettings_property_audio/driver/output_latency>`\ ,但实际的返回值取决于操作系统和音频驱动。
\ **注意:**\ 可能开销较大;不建议每帧都调用 :ref:`get_output_latency<class_AudioServer_method_get_output_latency>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_get_speaker_mode:
.. rst-class:: classref-method
:ref:`SpeakerMode<enum_AudioServer_SpeakerMode>` **get_speaker_mode** **(** **)** |const|
返回扬声器的配置。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_get_time_since_last_mix:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_time_since_last_mix** **(** **)** |const|
返回自上次混合以来的相对时间。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_get_time_to_next_mix:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_time_to_next_mix** **(** **)** |const|
返回下一次混合之前的相对时间。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_is_bus_bypassing_effects:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_bus_bypassing_effects** **(** :ref:`int<class_int>` bus_idx **)** |const|
如果为 ``true``\ ,则索引为 ``bus_idx`` 的总线会绕过效果。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_is_bus_effect_enabled:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_bus_effect_enabled** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)** |const|
如果为 ``true``\ ,则索引为 ``bus_idx`` 的总线上启用了索引为 ``effect_idx`` 的效果。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_is_bus_mute:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_bus_mute** **(** :ref:`int<class_int>` bus_idx **)** |const|
如果为 ``true``\ ,则索引为 ``bus_idx`` 的总线已静音。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_is_bus_solo:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_bus_solo** **(** :ref:`int<class_int>` bus_idx **)** |const|
如果为 ``true``\ ,则索引为 ``bus_idx`` 的总线处于独奏模式。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_lock:
.. rst-class:: classref-method
void **lock** **(** **)**
锁定音频驱动程序的主循环。
\ **注意:**\ 之后记得解锁。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_move_bus:
.. rst-class:: classref-method
void **move_bus** **(** :ref:`int<class_int>` index, :ref:`int<class_int>` to_index **)**
将总线从索引 ``index`` 移动到索引 ``to_index``\ 。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_remove_bus:
.. rst-class:: classref-method
void **remove_bus** **(** :ref:`int<class_int>` index **)**
移除索引 ``index`` 处的总线。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_remove_bus_effect:
.. rst-class:: classref-method
void **remove_bus_effect** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)**
将索引 ``effect_idx`` 的效果从索引 ``bus_idx`` 的总线上移除。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_set_bus_bypass_effects:
.. rst-class:: classref-method
void **set_bus_bypass_effects** **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)**
如果为 ``true``\ ,则索引为 ``bus_idx`` 的总线会绕过效果。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_set_bus_effect_enabled:
.. rst-class:: classref-method
void **set_bus_effect_enabled** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`bool<class_bool>` enabled **)**
如果为 ``true``\ ,则索引为 ``bus_idx`` 的总线上启用了索引为 ``effect_idx`` 的效果。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_set_bus_layout:
.. rst-class:: classref-method
void **set_bus_layout** **(** :ref:`AudioBusLayout<class_AudioBusLayout>` bus_layout **)**
覆盖当前使用的 :ref:`AudioBusLayout<class_AudioBusLayout>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_set_bus_mute:
.. rst-class:: classref-method
void **set_bus_mute** **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)**
如果为 ``true``\ ,则索引为 ``bus_idx`` 的总线已静音。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_set_bus_name:
.. rst-class:: classref-method
void **set_bus_name** **(** :ref:`int<class_int>` bus_idx, :ref:`String<class_String>` name **)**
将索引为 ``bus_idx`` 的总线的名称设为 ``name``\ 。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_set_bus_send:
.. rst-class:: classref-method
void **set_bus_send** **(** :ref:`int<class_int>` bus_idx, :ref:`StringName<class_StringName>` send **)**
将索引为 ``bus_idx`` 处的总线输出连接到名为 ``send`` 的总线。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_set_bus_solo:
.. rst-class:: classref-method
void **set_bus_solo** **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)**
如果为 ``true``\ ,则索引为 ``bus_idx`` 的总线处于独奏模式。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_set_bus_volume_db:
.. rst-class:: classref-method
void **set_bus_volume_db** **(** :ref:`int<class_int>` bus_idx, :ref:`float<class_float>` volume_db **)**
将索引为 ``bus_idx`` 的总线的音量设为 ``volume_db``\ 。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_set_enable_tagging_used_audio_streams:
.. rst-class:: classref-method
void **set_enable_tagging_used_audio_streams** **(** :ref:`bool<class_bool>` enable **)**
.. container:: contribute
目前没有这个方法的描述。请帮我们\ :ref:`贡献一个 <doc_updating_the_class_reference>`\
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_swap_bus_effects:
.. rst-class:: classref-method
void **swap_bus_effects** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`int<class_int>` by_effect_idx **)**
在索引为 ``bus_idx`` 的总线中交换两个效果的位置。
.. rst-class:: classref-item-separator
----
.. _class_AudioServer_method_unlock:
.. rst-class:: classref-method
void **unlock** **(** **)**
解锁音频驱动程序的主循环。(锁定后,你始终需要手动解锁它。)
.. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)`
.. |const| replace:: :abbr:`const (本方法没有副作用。不会修改该实例的任何成员变量。)`
.. |vararg| replace:: :abbr:`vararg (本方法除了在此处描述的参数外,还能够继续接受任意数量的参数。)`
.. |constructor| replace:: :abbr:`constructor (本方法用于构造某个类型。)`
.. |static| replace:: :abbr:`static (调用本方法无需实例,所以可以直接使用类名调用。)`
.. |operator| replace:: :abbr:`operator (本方法描述的是使用本类型作为左操作数的有效操作符。)`
.. |bitfield| replace:: :abbr:`BitField (这个值是由下列标志构成的位掩码整数。)`