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

84 lines
4.3 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:`AudioServer.add_bus_effect()<class_AudioServer_method_add_bus_effect>` 套用效果時所建立的 :ref:`AudioEffectInstance<class_AudioEffectInstance>`\ 。
::
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 (無回傳值。)`