Files
godot-docs-l10n/classes/uk/class_audiostreamplayer.rst
2025-09-30 13:31:55 +02:00

445 lines
23 KiB
ReStructuredText
Raw Permalink 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
.. meta::
:keywords: sound, music, song
.. _class_AudioStreamPlayer:
AudioStreamPlayer
=================
**Успадковує:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
Вузол для відтворення аудіо.
.. rst-class:: classref-introduction-group
Опис
--------
Вузол **AudioStreamPlayer** відтворює аудіопотік непозиційно. Він ідеально підходить для інтерфейсів користувача, меню або фонової музики.
Щоб використовувати цей вузол, для :ref:`stream<class_AudioStreamPlayer_property_stream>` потрібно встановити дійсний ресурс :ref:`AudioStream<class_AudioStream>`. Також підтримується відтворення кількох звуків одночасно, див. :ref:`max_polyphony<class_AudioStreamPlayer_property_max_polyphony>`.
Якщо вам потрібно відтворити аудіо в певній позиції, замість цього використовуйте :ref:`AudioStreamPlayer2D<class_AudioStreamPlayer2D>` або :ref:`AudioStreamPlayer3D<class_AudioStreamPlayer3D>`.
.. rst-class:: classref-introduction-group
Посібники
------------------
- :doc:`Звукові потоки <../tutorials/audio/audio_streams>`
- `2D демонстрація Dodge The Creeps <https://godotengine.org/asset-library/asset/2712>`__
- `Демонстрація зміни аудіопристроїв <https://godotengine.org/asset-library/asset/2758>`__
- `Демонстрація аудіогенератора <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:`bool<class_bool>` | :ref:`autoplay<class_AudioStreamPlayer_property_autoplay>` | ``false`` |
+----------------------------------------------------+----------------------------------------------------------------------+---------------+
| :ref:`StringName<class_StringName>` | :ref:`bus<class_AudioStreamPlayer_property_bus>` | ``&"Master"`` |
+----------------------------------------------------+----------------------------------------------------------------------+---------------+
| :ref:`int<class_int>` | :ref:`max_polyphony<class_AudioStreamPlayer_property_max_polyphony>` | ``1`` |
+----------------------------------------------------+----------------------------------------------------------------------+---------------+
| :ref:`MixTarget<enum_AudioStreamPlayer_MixTarget>` | :ref:`mix_target<class_AudioStreamPlayer_property_mix_target>` | ``0`` |
+----------------------------------------------------+----------------------------------------------------------------------+---------------+
| :ref:`float<class_float>` | :ref:`pitch_scale<class_AudioStreamPlayer_property_pitch_scale>` | ``1.0`` |
+----------------------------------------------------+----------------------------------------------------------------------+---------------+
| :ref:`PlaybackType<enum_AudioServer_PlaybackType>` | :ref:`playback_type<class_AudioStreamPlayer_property_playback_type>` | ``0`` |
+----------------------------------------------------+----------------------------------------------------------------------+---------------+
| :ref:`bool<class_bool>` | :ref:`playing<class_AudioStreamPlayer_property_playing>` | ``false`` |
+----------------------------------------------------+----------------------------------------------------------------------+---------------+
| :ref:`AudioStream<class_AudioStream>` | :ref:`stream<class_AudioStreamPlayer_property_stream>` | |
+----------------------------------------------------+----------------------------------------------------------------------+---------------+
| :ref:`bool<class_bool>` | :ref:`stream_paused<class_AudioStreamPlayer_property_stream_paused>` | ``false`` |
+----------------------------------------------------+----------------------------------------------------------------------+---------------+
| :ref:`float<class_float>` | :ref:`volume_db<class_AudioStreamPlayer_property_volume_db>` | ``0.0`` |
+----------------------------------------------------+----------------------------------------------------------------------+---------------+
| :ref:`float<class_float>` | :ref:`volume_linear<class_AudioStreamPlayer_property_volume_linear>` | |
+----------------------------------------------------+----------------------------------------------------------------------+---------------+
.. rst-class:: classref-reftable-group
Методи
------------
.. table::
:widths: auto
+-------------------------------------------------------+---------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_playback_position<class_AudioStreamPlayer_method_get_playback_position>`\ (\ ) |
+-------------------------------------------------------+---------------------------------------------------------------------------------------------------------+
| :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` | :ref:`get_stream_playback<class_AudioStreamPlayer_method_get_stream_playback>`\ (\ ) |
+-------------------------------------------------------+---------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_stream_playback<class_AudioStreamPlayer_method_has_stream_playback>`\ (\ ) |
+-------------------------------------------------------+---------------------------------------------------------------------------------------------------------+
| |void| | :ref:`play<class_AudioStreamPlayer_method_play>`\ (\ from_position\: :ref:`float<class_float>` = 0.0\ ) |
+-------------------------------------------------------+---------------------------------------------------------------------------------------------------------+
| |void| | :ref:`seek<class_AudioStreamPlayer_method_seek>`\ (\ to_position\: :ref:`float<class_float>`\ ) |
+-------------------------------------------------------+---------------------------------------------------------------------------------------------------------+
| |void| | :ref:`stop<class_AudioStreamPlayer_method_stop>`\ (\ ) |
+-------------------------------------------------------+---------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Сигнали
--------------
.. _class_AudioStreamPlayer_signal_finished:
.. rst-class:: classref-signal
**finished**\ (\ ) :ref:`🔗<class_AudioStreamPlayer_signal_finished>`
Видається, коли звук закінчується відтворення без перерв. Цей сигнал *не* видається під час виклику :ref:`stop()<class_AudioStreamPlayer_method_stop>` або під час виходу з дерева під час відтворення звуків.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Переліки
----------------
.. _enum_AudioStreamPlayer_MixTarget:
.. rst-class:: classref-enumeration
enum **MixTarget**: :ref:`🔗<enum_AudioStreamPlayer_MixTarget>`
.. _class_AudioStreamPlayer_constant_MIX_TARGET_STEREO:
.. rst-class:: classref-enumeration-constant
:ref:`MixTarget<enum_AudioStreamPlayer_MixTarget>` **MIX_TARGET_STEREO** = ``0``
Аудіо буде відтворюватися тільки на першому каналі. Це значення за умовчанням.
.. _class_AudioStreamPlayer_constant_MIX_TARGET_SURROUND:
.. rst-class:: classref-enumeration-constant
:ref:`MixTarget<enum_AudioStreamPlayer_MixTarget>` **MIX_TARGET_SURROUND** = ``1``
Аудіо відтворюватиметься на всіх каналах об’ємного звуку.
.. _class_AudioStreamPlayer_constant_MIX_TARGET_CENTER:
.. rst-class:: classref-enumeration-constant
:ref:`MixTarget<enum_AudioStreamPlayer_MixTarget>` **MIX_TARGET_CENTER** = ``2``
Аудіо відтворюватиметься на другому каналі, який зазвичай є центральним.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описи властивостей
------------------------------------
.. _class_AudioStreamPlayer_property_autoplay:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **autoplay** = ``false`` :ref:`🔗<class_AudioStreamPlayer_property_autoplay>`
.. rst-class:: classref-property-setget
- |void| **set_autoplay**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_autoplay_enabled**\ (\ )
Якщо ``true``, цей вузол викликає :ref:`play()<class_AudioStreamPlayer_method_play>` при вході в дерево.
.. rst-class:: classref-item-separator
----
.. _class_AudioStreamPlayer_property_bus:
.. rst-class:: classref-property
:ref:`StringName<class_StringName>` **bus** = ``&"Master"`` :ref:`🔗<class_AudioStreamPlayer_property_bus>`
.. rst-class:: classref-property-setget
- |void| **set_bus**\ (\ value\: :ref:`StringName<class_StringName>`\ )
- :ref:`StringName<class_StringName>` **get_bus**\ (\ )
Назва цільової шини. Усі звуки з цього вузла відтворюватимуться на цій шині.
\ **Примітка:** Під час виконання, якщо не існує шини з вказаною назвою, усі звуки повертатимуться до ``"Master"``. Дивіться також :ref:`AudioServer.get_bus_name()<class_AudioServer_method_get_bus_name>`.
.. rst-class:: classref-item-separator
----
.. _class_AudioStreamPlayer_property_max_polyphony:
.. rst-class:: classref-property
:ref:`int<class_int>` **max_polyphony** = ``1`` :ref:`🔗<class_AudioStreamPlayer_property_max_polyphony>`
.. rst-class:: classref-property-setget
- |void| **set_max_polyphony**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_max_polyphony**\ (\ )
Максимальна кількість звуків, які цей вузол може відтворювати одночасно. Виклик :ref:`play()<class_AudioStreamPlayer_method_play>` після досягнення цього значення відрізає найстаріші звуки.
.. rst-class:: classref-item-separator
----
.. _class_AudioStreamPlayer_property_mix_target:
.. rst-class:: classref-property
:ref:`MixTarget<enum_AudioStreamPlayer_MixTarget>` **mix_target** = ``0`` :ref:`🔗<class_AudioStreamPlayer_property_mix_target>`
.. rst-class:: classref-property-setget
- |void| **set_mix_target**\ (\ value\: :ref:`MixTarget<enum_AudioStreamPlayer_MixTarget>`\ )
- :ref:`MixTarget<enum_AudioStreamPlayer_MixTarget>` **get_mix_target**\ (\ )
Цільові канали міксу. Не має ефекту, якщо виявлено два або менше динаміків (див. :ref:`SpeakerMode<enum_AudioServer_SpeakerMode>`).
.. rst-class:: classref-item-separator
----
.. _class_AudioStreamPlayer_property_pitch_scale:
.. rst-class:: classref-property
:ref:`float<class_float>` **pitch_scale** = ``1.0`` :ref:`🔗<class_AudioStreamPlayer_property_pitch_scale>`
.. rst-class:: classref-property-setget
- |void| **set_pitch_scale**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_pitch_scale**\ (\ )
Висота та темп звуку як множник частоти дискретизації :ref:`stream<class_AudioStreamPlayer_property_stream>`. Значення ``2.0`` подвоює висоту звуку, тоді як значення ``0.5`` зменшує висоту вдвічі.
.. rst-class:: classref-item-separator
----
.. _class_AudioStreamPlayer_property_playback_type:
.. rst-class:: classref-property
:ref:`PlaybackType<enum_AudioServer_PlaybackType>` **playback_type** = ``0`` :ref:`🔗<class_AudioStreamPlayer_property_playback_type>`
.. rst-class:: classref-property-setget
- |void| **set_playback_type**\ (\ value\: :ref:`PlaybackType<enum_AudioServer_PlaybackType>`\ )
- :ref:`PlaybackType<enum_AudioServer_PlaybackType>` **get_playback_type**\ (\ )
**Експериментальний:** Ця властивість може бути змінена або усунута у наступних версіях.
Тип відтворення потокового програвача. Якщо встановлено інше значення, ніж значення за замовчуванням, цей тип відтворення буде примусово.
.. rst-class:: classref-item-separator
----
.. _class_AudioStreamPlayer_property_playing:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **playing** = ``false`` :ref:`🔗<class_AudioStreamPlayer_property_playing>`
.. rst-class:: classref-property-setget
- |void| **set_playing**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_playing**\ (\ )
Якщо ``true``, цей вузол відтворює звуки. Налаштування цієї властивості має той самий ефект, що й :ref:`play()<class_AudioStreamPlayer_method_play>` і :ref:`stop()<class_AudioStreamPlayer_method_stop>`.
.. rst-class:: classref-item-separator
----
.. _class_AudioStreamPlayer_property_stream:
.. rst-class:: classref-property
:ref:`AudioStream<class_AudioStream>` **stream** :ref:`🔗<class_AudioStreamPlayer_property_stream>`
.. rst-class:: classref-property-setget
- |void| **set_stream**\ (\ value\: :ref:`AudioStream<class_AudioStream>`\ )
- :ref:`AudioStream<class_AudioStream>` **get_stream**\ (\ )
Ресурс :ref:`AudioStream<class_AudioStream>` для відтворення. Якщо налаштувати цю властивість, усі звуки, що відтворюються в даний момент, зупиняються. Якщо залишити пустим, **AudioStreamPlayer** не працюватиме.
.. rst-class:: classref-item-separator
----
.. _class_AudioStreamPlayer_property_stream_paused:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **stream_paused** = ``false`` :ref:`🔗<class_AudioStreamPlayer_property_stream_paused>`
.. rst-class:: classref-property-setget
- |void| **set_stream_paused**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **get_stream_paused**\ (\ )
Якщо ``true``, звуки призупиняються. Якщо встановити :ref:`stream_paused<class_AudioStreamPlayer_property_stream_paused>` на ``false``, усі звуки відновлюються.
\ **Примітка:** Ця властивість автоматично змінюється під час виходу з дерева або входу в нього, або цей вузол призупинено (див. :ref:`Node.process_mode<class_Node_property_process_mode>`).
.. rst-class:: classref-item-separator
----
.. _class_AudioStreamPlayer_property_volume_db:
.. rst-class:: classref-property
:ref:`float<class_float>` **volume_db** = ``0.0`` :ref:`🔗<class_AudioStreamPlayer_property_volume_db>`
.. rst-class:: classref-property-setget
- |void| **set_volume_db**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_volume_db**\ (\ )
Гучність звуку, в децибелах. Це зміщення обсягу :ref:`stream<class_AudioStreamPlayer_property_stream>`.
\ **Примітка:** Для перетворення між децибелами та лінійною енергією (як це робить більшість повзунків гучності), використовуйте :ref:`volume_linear<class_AudioStreamPlayer_property_volume_linear>` або :ref:`@GlobalScope.db_to_linear()<class_@GlobalScope_method_db_to_linear>` і :ref:`@GlobalScope.linear_to_db()<class_@GlobalScope_method_linear_to_db>`.
.. rst-class:: classref-item-separator
----
.. _class_AudioStreamPlayer_property_volume_linear:
.. rst-class:: classref-property
:ref:`float<class_float>` **volume_linear** :ref:`🔗<class_AudioStreamPlayer_property_volume_linear>`
.. rst-class:: classref-property-setget
- |void| **set_volume_linear**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_volume_linear**\ (\ )
Гучність звуку, як лінійна величина.
\ **Примітка:** цей учасник змінює :ref:`volume_db<class_AudioStreamPlayer_property_volume_db>` для зручності. Повернене значення еквівалентно результату :ref:`@GlobalScope.db_to_linear()<class_@GlobalScope_method_db_to_linear>` на :ref:`volume_db<class_AudioStreamPlayer_property_volume_db>`. Налаштування цього члена еквівалентно встановленню :ref:`volume_db<class_AudioStreamPlayer_property_volume_db>` для результату :ref:`@GlobalScope.linear_to_db()<class_@GlobalScope_method_linear_to_db>` для значення.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описи методів
--------------------------
.. _class_AudioStreamPlayer_method_get_playback_position:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_playback_position**\ (\ ) :ref:`🔗<class_AudioStreamPlayer_method_get_playback_position>`
Повертає позицію в :ref:`AudioStream<class_AudioStream>` останнього звуку в секундах. Повертає ``0.0``, якщо звуки не відтворюються.
\ **Примітка:** Позиція не завжди точна, оскільки :ref:`AudioServer<class_AudioServer>` не змішує аудіо в кожному обробленому кадрі. Щоб отримати точніші результати, додайте :ref:`AudioServer.get_time_since_last_mix()<class_AudioServer_method_get_time_since_last_mix>` до повернутої позиції.
\ **Примітка:** Цей метод завжди повертає ``0.0``, якщо :ref:`stream<class_AudioStreamPlayer_property_stream>` є :ref:`AudioStreamInteractive<class_AudioStreamInteractive>`, оскільки він може одночасно відтворювати кілька кліпів.
.. rst-class:: classref-item-separator
----
.. _class_AudioStreamPlayer_method_get_stream_playback:
.. rst-class:: classref-method
:ref:`AudioStreamPlayback<class_AudioStreamPlayback>` **get_stream_playback**\ (\ ) :ref:`🔗<class_AudioStreamPlayer_method_get_stream_playback>`
Повертає останній :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` цього вузла, зазвичай останній, створений :ref:`play()<class_AudioStreamPlayer_method_play>`. Якщо звуки не відтворюються, цей метод завершується помилкою та повертає порожнє відтворення.
.. rst-class:: classref-item-separator
----
.. _class_AudioStreamPlayer_method_has_stream_playback:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **has_stream_playback**\ (\ ) :ref:`🔗<class_AudioStreamPlayer_method_has_stream_playback>`
Повертає ``true``, якщо будь-який звук активний, навіть якщо :ref:`stream_paused<class_AudioStreamPlayer_property_stream_paused>` встановлюється до ``true``. Дивись також :ref:`play<class_AudioStreamPlayer_property_play>` і :ref:`get_stream_playback()<class_AudioStreamPlayer_method_get_stream_playback>`.
.. rst-class:: classref-item-separator
----
.. _class_AudioStreamPlayer_method_play:
.. rst-class:: classref-method
|void| **play**\ (\ from_position\: :ref:`float<class_float>` = 0.0\ ) :ref:`🔗<class_AudioStreamPlayer_method_play>`
Відтворення звуку з початку або заданого ``from_position`` за секунди.
.. rst-class:: classref-item-separator
----
.. _class_AudioStreamPlayer_method_seek:
.. rst-class:: classref-method
|void| **seek**\ (\ to_position\: :ref:`float<class_float>`\ ) :ref:`🔗<class_AudioStreamPlayer_method_seek>`
Перезапускає всі звуки, які потрібно відтворити, починаючи з заданого ``to_position`` за секунди. Нічого не робить, якщо звуки не відтворюються.
.. rst-class:: classref-item-separator
----
.. _class_AudioStreamPlayer_method_stop:
.. rst-class:: classref-method
|void| **stop**\ (\ ) :ref:`🔗<class_AudioStreamPlayer_method_stop>`
Зупиняє всі звуки з цього вузла.
.. |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 (Значення не повертається.)`