Files
godot-docs-l10n/classes/zh_Hans/class_audioeffect.rst

84 lines
4.4 KiB
ReStructuredText

:github_url: hide
.. _class_AudioEffect:
AudioEffect
===========
**继承:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
**派生:** :ref:`AudioEffectAmplify<class_AudioEffectAmplify>`, :ref:`AudioEffectCapture<class_AudioEffectCapture>`, :ref:`AudioEffectChorus<class_AudioEffectChorus>`, :ref:`AudioEffectCompressor<class_AudioEffectCompressor>`, :ref:`AudioEffectDelay<class_AudioEffectDelay>`, :ref:`AudioEffectDistortion<class_AudioEffectDistortion>`, :ref:`AudioEffectEQ<class_AudioEffectEQ>`, :ref:`AudioEffectFilter<class_AudioEffectFilter>`, :ref:`AudioEffectHardLimiter<class_AudioEffectHardLimiter>`, :ref:`AudioEffectLimiter<class_AudioEffectLimiter>`, :ref:`AudioEffectPanner<class_AudioEffectPanner>`, :ref:`AudioEffectPhaser<class_AudioEffectPhaser>`, :ref:`AudioEffectPitchShift<class_AudioEffectPitchShift>`, :ref:`AudioEffectRecord<class_AudioEffectRecord>`, :ref:`AudioEffectReverb<class_AudioEffectReverb>`, :ref:`AudioEffectSpectrumAnalyzer<class_AudioEffectSpectrumAnalyzer>`, :ref:`AudioEffectStereoEnhance<class_AudioEffectStereoEnhance>`
音频效果资源的基类。
.. rst-class:: classref-introduction-group
描述
----
音频效果的基础 :ref:`Resource<class_Resource>`\ 。在编辑器中,可以在“音频”面板中为当前的总线布局添加音频效果。在运行时,也可以通过 :ref:`AudioServer.add_bus_effect()<class_AudioServer_method_add_bus_effect>`\ 、\ :ref:`AudioServer.remove_bus_effect()<class_AudioServer_method_remove_bus_effect>`\ 、\ :ref:`AudioServer.get_bus_effect()<class_AudioServer_method_get_bus_effect>` 来操作音频效果。
应用到总线时,音频效果会创建一个对应的 :ref:`AudioEffectInstance<class_AudioEffectInstance>` 实例。由这个实例来负责根据原始音频效果的属性操作声音。
.. rst-class:: classref-introduction-group
教程
----
- :doc:`音频总线 <../tutorials/audio/audio_buses>`
- `音频麦克风录音演示 <https://godotengine.org/asset-library/asset/2760>`__
.. rst-class:: classref-reftable-group
方法
----
.. table::
:widths: auto
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------+
| :ref:`AudioEffectInstance<class_AudioEffectInstance>` | :ref:`_instantiate<class_AudioEffect_private_method__instantiate>`\ (\ ) |virtual| |required| |
+-------------------------------------------------------+-----------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
方法说明
--------
.. _class_AudioEffect_private_method__instantiate:
.. rst-class:: classref-method
:ref:`AudioEffectInstance<class_AudioEffectInstance>` **_instantiate**\ (\ ) |virtual| |required| :ref:`🔗<class_AudioEffect_private_method__instantiate>`
覆盖该方法以自定义新创建的 :ref:`AudioEffectInstance<class_AudioEffectInstance>`\ ,它是在编辑器的音频面板中将该效果应用于总线时,或通过 :ref:`AudioServer.add_bus_effect()<class_AudioServer_method_add_bus_effect>` 时创建的。
::
extends AudioEffect
@export var strength = 4.0
func _instantiate():
var effect = CustomAudioEffectInstance.new()
effect.base = self
return effect
\ **注意:**\ 建议在新实例中保留对原始 **AudioEffect** 的引用。根据实现,这允许效果实例在运行时监听更改并进行相应的修改。
.. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)`
.. |vararg| replace:: :abbr:`vararg (本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。)`
.. |constructor| replace:: :abbr:`constructor (本方法用于构造某个类型。)`
.. |static| replace:: :abbr:`static (调用本方法无需实例,可直接使用类名进行调用。)`
.. |operator| replace:: :abbr:`operator (本方法描述的是使用本类型作为左操作数的有效运算符。)`
.. |bitfield| replace:: :abbr:`BitField (这个值是由下列位标志构成位掩码的整数。)`
.. |void| replace:: :abbr:`void (无返回值。)`