mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2025-12-31 09:49:22 +03:00
This reverts commit 57781dc0bc.
The rename, although in line with what we did in the engine, caused problems with RTD we need to fix (or push for a fix) first.
309 lines
16 KiB
ReStructuredText
309 lines
16 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_AudioStream:
|
||
|
||
AudioStream
|
||
===========
|
||
|
||
**继承:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
|
||
|
||
**派生:** :ref:`AudioStreamGenerator<class_AudioStreamGenerator>`, :ref:`AudioStreamInteractive<class_AudioStreamInteractive>`, :ref:`AudioStreamMicrophone<class_AudioStreamMicrophone>`, :ref:`AudioStreamMP3<class_AudioStreamMP3>`, :ref:`AudioStreamOggVorbis<class_AudioStreamOggVorbis>`, :ref:`AudioStreamPlaylist<class_AudioStreamPlaylist>`, :ref:`AudioStreamPolyphonic<class_AudioStreamPolyphonic>`, :ref:`AudioStreamRandomizer<class_AudioStreamRandomizer>`, :ref:`AudioStreamSynchronized<class_AudioStreamSynchronized>`, :ref:`AudioStreamWAV<class_AudioStreamWAV>`
|
||
|
||
音频流的基类。
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
描述
|
||
----
|
||
|
||
音频流的基类。音频流用于播放音效和音乐,支持 WAV(通过 :ref:`AudioStreamWAV<class_AudioStreamWAV>`\ )和 Ogg(通过 :ref:`AudioStreamOggVorbis<class_AudioStreamOggVorbis>`\ )文件格式。
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
教程
|
||
----
|
||
|
||
- :doc:`音频流 <../tutorials/audio/audio_streams>`
|
||
|
||
- `音频生成器演示 <https://godotengine.org/asset-library/asset/2759>`__
|
||
|
||
- `音频麦克风录音演示 <https://godotengine.org/asset-library/asset/2760>`__
|
||
|
||
- `音频频谱可视化演示 <https://godotengine.org/asset-library/asset/2762>`__
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
方法
|
||
----
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`_get_bar_beats<class_AudioStream_private_method__get_bar_beats>`\ (\ ) |virtual| |const| |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`_get_beat_count<class_AudioStream_private_method__get_beat_count>`\ (\ ) |virtual| |const| |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`_get_bpm<class_AudioStream_private_method__get_bpm>`\ (\ ) |virtual| |const| |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`_get_length<class_AudioStream_private_method__get_length>`\ (\ ) |virtual| |const| |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] | :ref:`_get_parameter_list<class_AudioStream_private_method__get_parameter_list>`\ (\ ) |virtual| |const| |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`String<class_String>` | :ref:`_get_stream_name<class_AudioStream_private_method__get_stream_name>`\ (\ ) |virtual| |const| |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Dictionary<class_Dictionary>` | :ref:`_get_tags<class_AudioStream_private_method__get_tags>`\ (\ ) |virtual| |const| |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`_has_loop<class_AudioStream_private_method__has_loop>`\ (\ ) |virtual| |const| |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` | :ref:`_instantiate_playback<class_AudioStream_private_method__instantiate_playback>`\ (\ ) |virtual| |const| |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`_is_monophonic<class_AudioStream_private_method__is_monophonic>`\ (\ ) |virtual| |const| |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`can_be_sampled<class_AudioStream_method_can_be_sampled>`\ (\ ) |const| |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`AudioSample<class_AudioSample>` | :ref:`generate_sample<class_AudioStream_method_generate_sample>`\ (\ ) |const| |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`get_length<class_AudioStream_method_get_length>`\ (\ ) |const| |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` | :ref:`instantiate_playback<class_AudioStream_method_instantiate_playback>`\ (\ ) |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_meta_stream<class_AudioStream_method_is_meta_stream>`\ (\ ) |const| |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_monophonic<class_AudioStream_method_is_monophonic>`\ (\ ) |const| |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
信号
|
||
----
|
||
|
||
.. _class_AudioStream_signal_parameter_list_changed:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**parameter_list_changed**\ (\ ) :ref:`🔗<class_AudioStream_signal_parameter_list_changed>`
|
||
|
||
当参数列表改变时被发出以通知的信号。
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
方法说明
|
||
--------
|
||
|
||
.. _class_AudioStream_private_method__get_bar_beats:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **_get_bar_beats**\ (\ ) |virtual| |const| :ref:`🔗<class_AudioStream_private_method__get_bar_beats>`
|
||
|
||
覆盖该方法,返回音频流的节拍数。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStream_private_method__get_beat_count:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **_get_beat_count**\ (\ ) |virtual| |const| :ref:`🔗<class_AudioStream_private_method__get_beat_count>`
|
||
|
||
可覆盖的方法。应返回该音频流的总节拍数。由引擎用来确定每个节拍的位置。
|
||
|
||
理想情况下,返回值应基于流的采样率(例如,\ :ref:`AudioStreamWAV.mix_rate<class_AudioStreamWAV_property_mix_rate>`\ )。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStream_private_method__get_bpm:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`float<class_float>` **_get_bpm**\ (\ ) |virtual| |const| :ref:`🔗<class_AudioStream_private_method__get_bpm>`
|
||
|
||
可覆盖的方法。应返回该音频流的节奏,以每分钟节拍数(BPM)为单位。由引擎用来确定每个节拍的位置。
|
||
|
||
理想情况下,返回值应基于流的采样率(例如,\ :ref:`AudioStreamWAV.mix_rate<class_AudioStreamWAV_property_mix_rate>`\ )。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStream_private_method__get_length:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`float<class_float>` **_get_length**\ (\ ) |virtual| |const| :ref:`🔗<class_AudioStream_private_method__get_length>`
|
||
|
||
覆盖此方法以自定义 :ref:`get_length()<class_AudioStream_method_get_length>` 所返回的值,应该返回这个音频流的长度,单位为秒。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStream_private_method__get_parameter_list:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] **_get_parameter_list**\ (\ ) |virtual| |const| :ref:`🔗<class_AudioStream_private_method__get_parameter_list>`
|
||
|
||
返回该流的可控制参数。该数组包含具有属性信息描述格式的字典(请参阅 :ref:`Object.get_property_list()<class_Object_method_get_property_list>`\ )。此外,必须将该参数的默认值添加到 “default_value” 字段中的每个字典中。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStream_private_method__get_stream_name:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`String<class_String>` **_get_stream_name**\ (\ ) |virtual| |const| :ref:`🔗<class_AudioStream_private_method__get_stream_name>`
|
||
|
||
覆盖该方法,以自定义分配给该音频流的名称。未被引擎使用。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStream_private_method__get_tags:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Dictionary<class_Dictionary>` **_get_tags**\ (\ ) |virtual| |const| :ref:`🔗<class_AudioStream_private_method__get_tags>`
|
||
|
||
覆盖该方法,自定义音频流的标签。应当返回字符串构成的 :ref:`Dictionary<class_Dictionary>`\ ,标签为键,对应的内容为值。
|
||
|
||
常用标签包括标题 ``title``\ 、艺术家 ``artist``\ 、专辑 ``album``\ 、音轨号 ``tracknumber``\ 、日期 ``date``\ 。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStream_private_method__has_loop:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **_has_loop**\ (\ ) |virtual| |const| :ref:`🔗<class_AudioStream_private_method__has_loop>`
|
||
|
||
覆盖该方法,如果音频流中存在循环,则返回 ``true``\ 。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStream_private_method__instantiate_playback:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`AudioStreamPlayback<class_AudioStreamPlayback>` **_instantiate_playback**\ (\ ) |virtual| |const| :ref:`🔗<class_AudioStream_private_method__instantiate_playback>`
|
||
|
||
覆盖该方法可以自定义 :ref:`instantiate_playback()<class_AudioStream_method_instantiate_playback>` 的返回值。应该返回一个在播放流(例如通过 :ref:`AudioStreamPlayer<class_AudioStreamPlayer>`\ )时创建的新的 :ref:`AudioStreamPlayback<class_AudioStreamPlayback>`\ 。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStream_private_method__is_monophonic:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **_is_monophonic**\ (\ ) |virtual| |const| :ref:`🔗<class_AudioStream_private_method__is_monophonic>`
|
||
|
||
覆盖该方法以自定义 :ref:`is_monophonic()<class_AudioStream_method_is_monophonic>` 的返回值。如果该音频流仅支持一个通道,则应返回 ``true``\ 。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStream_method_can_be_sampled:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **can_be_sampled**\ (\ ) |const| :ref:`🔗<class_AudioStream_method_can_be_sampled>`
|
||
|
||
**实验性:** 未来版本中可能会修改或移除该方法。
|
||
|
||
返回当前 **AudioStream** 是否可以用作样本。仅可对静态流进行采样。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStream_method_generate_sample:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`AudioSample<class_AudioSample>` **generate_sample**\ (\ ) |const| :ref:`🔗<class_AudioStream_method_generate_sample>`
|
||
|
||
**实验性:** 未来版本中可能会修改或移除该方法。
|
||
|
||
根据当前流生成 :ref:`AudioSample<class_AudioSample>`\ 。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStream_method_get_length:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`float<class_float>` **get_length**\ (\ ) |const| :ref:`🔗<class_AudioStream_method_get_length>`
|
||
|
||
返回音频流的长度,单位为秒。如果是 :ref:`AudioStreamRandomizer<class_AudioStreamRandomizer>`\ ,则返回最近一次播放的音频流的长度。如果音频流的长度无限(如 :ref:`AudioStreamGenerator<class_AudioStreamGenerator>` 和 :ref:`AudioStreamMicrophone<class_AudioStreamMicrophone>`\ )则返回 ``0.0``\ 。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStream_method_instantiate_playback:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`AudioStreamPlayback<class_AudioStreamPlayback>` **instantiate_playback**\ (\ ) :ref:`🔗<class_AudioStream_method_instantiate_playback>`
|
||
|
||
返回一个新创建的 :ref:`AudioStreamPlayback<class_AudioStreamPlayback>`\ ,用于播放该音频流。当想要扩展 :ref:`_instantiate_playback()<class_AudioStream_private_method__instantiate_playback>`\ ,但从一个内部持有的 AudioStream 子资源调用 :ref:`instantiate_playback()<class_AudioStream_method_instantiate_playback>` 时很有用。在 ``AudioStreamRandomPitch::instantiate_playback`` 的源代码中可以找到这方面的示例。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStream_method_is_meta_stream:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_meta_stream**\ (\ ) |const| :ref:`🔗<class_AudioStream_method_is_meta_stream>`
|
||
|
||
如果该流是其他流的集合,则返回 ``true``\ ,否则返回 ``false``\ 。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStream_method_is_monophonic:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_monophonic**\ (\ ) |const| :ref:`🔗<class_AudioStream_method_is_monophonic>`
|
||
|
||
如果该音频流仅支持一个通道(\ *单声道*\ ),则返回 ``true``\ ;如果音频流支持两个或多个通道(\ *复调*\ ),则返回 ``false``\ 。
|
||
|
||
.. |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 (无返回值。)`
|