class_audioserver.rst 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioServer.xml.
  6. .. _class_AudioServer:
  7. AudioServer
  8. ===========
  9. **Inherits:** :ref:`Object<class_Object>`
  10. Server interface for low-level audio access.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. **AudioServer** is a low-level server interface for audio access. It is in charge of creating sample data (playable audio) as well as its playback via a voice interface.
  15. .. rst-class:: classref-introduction-group
  16. Tutorials
  17. ---------
  18. - :doc:`Audio buses <../tutorials/audio/audio_buses>`
  19. - `Audio Device Changer Demo <https://godotengine.org/asset-library/asset/2758>`__
  20. - `Audio Microphone Record Demo <https://godotengine.org/asset-library/asset/2760>`__
  21. - `Audio Spectrum Visualizer Demo <https://godotengine.org/asset-library/asset/2762>`__
  22. .. rst-class:: classref-reftable-group
  23. Properties
  24. ----------
  25. .. table::
  26. :widths: auto
  27. +-----------------------------+------------------------------------------------------------------------------+---------------+
  28. | :ref:`int<class_int>` | :ref:`bus_count<class_AudioServer_property_bus_count>` | ``1`` |
  29. +-----------------------------+------------------------------------------------------------------------------+---------------+
  30. | :ref:`String<class_String>` | :ref:`input_device<class_AudioServer_property_input_device>` | ``"Default"`` |
  31. +-----------------------------+------------------------------------------------------------------------------+---------------+
  32. | :ref:`String<class_String>` | :ref:`output_device<class_AudioServer_property_output_device>` | ``"Default"`` |
  33. +-----------------------------+------------------------------------------------------------------------------+---------------+
  34. | :ref:`float<class_float>` | :ref:`playback_speed_scale<class_AudioServer_property_playback_speed_scale>` | ``1.0`` |
  35. +-----------------------------+------------------------------------------------------------------------------+---------------+
  36. .. rst-class:: classref-reftable-group
  37. Methods
  38. -------
  39. .. table::
  40. :widths: auto
  41. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  42. | |void| | :ref:`add_bus<class_AudioServer_method_add_bus>`\ (\ at_position\: :ref:`int<class_int>` = -1\ ) |
  43. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  44. | |void| | :ref:`add_bus_effect<class_AudioServer_method_add_bus_effect>`\ (\ bus_idx\: :ref:`int<class_int>`, effect\: :ref:`AudioEffect<class_AudioEffect>`, at_position\: :ref:`int<class_int>` = -1\ ) |
  45. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  46. | :ref:`AudioBusLayout<class_AudioBusLayout>` | :ref:`generate_bus_layout<class_AudioServer_method_generate_bus_layout>`\ (\ ) |const| |
  47. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  48. | :ref:`int<class_int>` | :ref:`get_bus_channels<class_AudioServer_method_get_bus_channels>`\ (\ bus_idx\: :ref:`int<class_int>`\ ) |const| |
  49. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  50. | :ref:`AudioEffect<class_AudioEffect>` | :ref:`get_bus_effect<class_AudioServer_method_get_bus_effect>`\ (\ bus_idx\: :ref:`int<class_int>`, effect_idx\: :ref:`int<class_int>`\ ) |
  51. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  52. | :ref:`int<class_int>` | :ref:`get_bus_effect_count<class_AudioServer_method_get_bus_effect_count>`\ (\ bus_idx\: :ref:`int<class_int>`\ ) |
  53. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  54. | :ref:`AudioEffectInstance<class_AudioEffectInstance>` | :ref:`get_bus_effect_instance<class_AudioServer_method_get_bus_effect_instance>`\ (\ bus_idx\: :ref:`int<class_int>`, effect_idx\: :ref:`int<class_int>`, channel\: :ref:`int<class_int>` = 0\ ) |
  55. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  56. | :ref:`int<class_int>` | :ref:`get_bus_index<class_AudioServer_method_get_bus_index>`\ (\ bus_name\: :ref:`StringName<class_StringName>`\ ) |const| |
  57. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  58. | :ref:`String<class_String>` | :ref:`get_bus_name<class_AudioServer_method_get_bus_name>`\ (\ bus_idx\: :ref:`int<class_int>`\ ) |const| |
  59. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  60. | :ref:`float<class_float>` | :ref:`get_bus_peak_volume_left_db<class_AudioServer_method_get_bus_peak_volume_left_db>`\ (\ bus_idx\: :ref:`int<class_int>`, channel\: :ref:`int<class_int>`\ ) |const| |
  61. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  62. | :ref:`float<class_float>` | :ref:`get_bus_peak_volume_right_db<class_AudioServer_method_get_bus_peak_volume_right_db>`\ (\ bus_idx\: :ref:`int<class_int>`, channel\: :ref:`int<class_int>`\ ) |const| |
  63. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  64. | :ref:`StringName<class_StringName>` | :ref:`get_bus_send<class_AudioServer_method_get_bus_send>`\ (\ bus_idx\: :ref:`int<class_int>`\ ) |const| |
  65. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  66. | :ref:`float<class_float>` | :ref:`get_bus_volume_db<class_AudioServer_method_get_bus_volume_db>`\ (\ bus_idx\: :ref:`int<class_int>`\ ) |const| |
  67. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  68. | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_input_device_list<class_AudioServer_method_get_input_device_list>`\ (\ ) |
  69. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  70. | :ref:`float<class_float>` | :ref:`get_mix_rate<class_AudioServer_method_get_mix_rate>`\ (\ ) |const| |
  71. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  72. | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_output_device_list<class_AudioServer_method_get_output_device_list>`\ (\ ) |
  73. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  74. | :ref:`float<class_float>` | :ref:`get_output_latency<class_AudioServer_method_get_output_latency>`\ (\ ) |const| |
  75. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  76. | :ref:`SpeakerMode<enum_AudioServer_SpeakerMode>` | :ref:`get_speaker_mode<class_AudioServer_method_get_speaker_mode>`\ (\ ) |const| |
  77. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  78. | :ref:`float<class_float>` | :ref:`get_time_since_last_mix<class_AudioServer_method_get_time_since_last_mix>`\ (\ ) |const| |
  79. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  80. | :ref:`float<class_float>` | :ref:`get_time_to_next_mix<class_AudioServer_method_get_time_to_next_mix>`\ (\ ) |const| |
  81. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  82. | :ref:`bool<class_bool>` | :ref:`is_bus_bypassing_effects<class_AudioServer_method_is_bus_bypassing_effects>`\ (\ bus_idx\: :ref:`int<class_int>`\ ) |const| |
  83. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  84. | :ref:`bool<class_bool>` | :ref:`is_bus_effect_enabled<class_AudioServer_method_is_bus_effect_enabled>`\ (\ bus_idx\: :ref:`int<class_int>`, effect_idx\: :ref:`int<class_int>`\ ) |const| |
  85. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  86. | :ref:`bool<class_bool>` | :ref:`is_bus_mute<class_AudioServer_method_is_bus_mute>`\ (\ bus_idx\: :ref:`int<class_int>`\ ) |const| |
  87. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  88. | :ref:`bool<class_bool>` | :ref:`is_bus_solo<class_AudioServer_method_is_bus_solo>`\ (\ bus_idx\: :ref:`int<class_int>`\ ) |const| |
  89. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  90. | |void| | :ref:`lock<class_AudioServer_method_lock>`\ (\ ) |
  91. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  92. | |void| | :ref:`move_bus<class_AudioServer_method_move_bus>`\ (\ index\: :ref:`int<class_int>`, to_index\: :ref:`int<class_int>`\ ) |
  93. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  94. | |void| | :ref:`remove_bus<class_AudioServer_method_remove_bus>`\ (\ index\: :ref:`int<class_int>`\ ) |
  95. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  96. | |void| | :ref:`remove_bus_effect<class_AudioServer_method_remove_bus_effect>`\ (\ bus_idx\: :ref:`int<class_int>`, effect_idx\: :ref:`int<class_int>`\ ) |
  97. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  98. | |void| | :ref:`set_bus_bypass_effects<class_AudioServer_method_set_bus_bypass_effects>`\ (\ bus_idx\: :ref:`int<class_int>`, enable\: :ref:`bool<class_bool>`\ ) |
  99. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  100. | |void| | :ref:`set_bus_effect_enabled<class_AudioServer_method_set_bus_effect_enabled>`\ (\ bus_idx\: :ref:`int<class_int>`, effect_idx\: :ref:`int<class_int>`, enabled\: :ref:`bool<class_bool>`\ ) |
  101. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  102. | |void| | :ref:`set_bus_layout<class_AudioServer_method_set_bus_layout>`\ (\ bus_layout\: :ref:`AudioBusLayout<class_AudioBusLayout>`\ ) |
  103. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  104. | |void| | :ref:`set_bus_mute<class_AudioServer_method_set_bus_mute>`\ (\ bus_idx\: :ref:`int<class_int>`, enable\: :ref:`bool<class_bool>`\ ) |
  105. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  106. | |void| | :ref:`set_bus_name<class_AudioServer_method_set_bus_name>`\ (\ bus_idx\: :ref:`int<class_int>`, name\: :ref:`String<class_String>`\ ) |
  107. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  108. | |void| | :ref:`set_bus_send<class_AudioServer_method_set_bus_send>`\ (\ bus_idx\: :ref:`int<class_int>`, send\: :ref:`StringName<class_StringName>`\ ) |
  109. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  110. | |void| | :ref:`set_bus_solo<class_AudioServer_method_set_bus_solo>`\ (\ bus_idx\: :ref:`int<class_int>`, enable\: :ref:`bool<class_bool>`\ ) |
  111. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  112. | |void| | :ref:`set_bus_volume_db<class_AudioServer_method_set_bus_volume_db>`\ (\ bus_idx\: :ref:`int<class_int>`, volume_db\: :ref:`float<class_float>`\ ) |
  113. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  114. | |void| | :ref:`set_enable_tagging_used_audio_streams<class_AudioServer_method_set_enable_tagging_used_audio_streams>`\ (\ enable\: :ref:`bool<class_bool>`\ ) |
  115. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  116. | |void| | :ref:`swap_bus_effects<class_AudioServer_method_swap_bus_effects>`\ (\ bus_idx\: :ref:`int<class_int>`, effect_idx\: :ref:`int<class_int>`, by_effect_idx\: :ref:`int<class_int>`\ ) |
  117. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  118. | |void| | :ref:`unlock<class_AudioServer_method_unlock>`\ (\ ) |
  119. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  120. .. rst-class:: classref-section-separator
  121. ----
  122. .. rst-class:: classref-descriptions-group
  123. Signals
  124. -------
  125. .. _class_AudioServer_signal_bus_layout_changed:
  126. .. rst-class:: classref-signal
  127. **bus_layout_changed**\ (\ ) :ref:`🔗<class_AudioServer_signal_bus_layout_changed>`
  128. Emitted when an audio bus is added, deleted, or moved.
  129. .. rst-class:: classref-item-separator
  130. ----
  131. .. _class_AudioServer_signal_bus_renamed:
  132. .. rst-class:: classref-signal
  133. **bus_renamed**\ (\ bus_index\: :ref:`int<class_int>`, old_name\: :ref:`StringName<class_StringName>`, new_name\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_AudioServer_signal_bus_renamed>`
  134. Emitted when the audio bus at ``bus_index`` is renamed from ``old_name`` to ``new_name``.
  135. .. rst-class:: classref-section-separator
  136. ----
  137. .. rst-class:: classref-descriptions-group
  138. Enumerations
  139. ------------
  140. .. _enum_AudioServer_SpeakerMode:
  141. .. rst-class:: classref-enumeration
  142. enum **SpeakerMode**: :ref:`🔗<enum_AudioServer_SpeakerMode>`
  143. .. _class_AudioServer_constant_SPEAKER_MODE_STEREO:
  144. .. rst-class:: classref-enumeration-constant
  145. :ref:`SpeakerMode<enum_AudioServer_SpeakerMode>` **SPEAKER_MODE_STEREO** = ``0``
  146. Two or fewer speakers were detected.
  147. .. _class_AudioServer_constant_SPEAKER_SURROUND_31:
  148. .. rst-class:: classref-enumeration-constant
  149. :ref:`SpeakerMode<enum_AudioServer_SpeakerMode>` **SPEAKER_SURROUND_31** = ``1``
  150. A 3.1 channel surround setup was detected.
  151. .. _class_AudioServer_constant_SPEAKER_SURROUND_51:
  152. .. rst-class:: classref-enumeration-constant
  153. :ref:`SpeakerMode<enum_AudioServer_SpeakerMode>` **SPEAKER_SURROUND_51** = ``2``
  154. A 5.1 channel surround setup was detected.
  155. .. _class_AudioServer_constant_SPEAKER_SURROUND_71:
  156. .. rst-class:: classref-enumeration-constant
  157. :ref:`SpeakerMode<enum_AudioServer_SpeakerMode>` **SPEAKER_SURROUND_71** = ``3``
  158. A 7.1 channel surround setup was detected.
  159. .. rst-class:: classref-section-separator
  160. ----
  161. .. rst-class:: classref-descriptions-group
  162. Property Descriptions
  163. ---------------------
  164. .. _class_AudioServer_property_bus_count:
  165. .. rst-class:: classref-property
  166. :ref:`int<class_int>` **bus_count** = ``1`` :ref:`🔗<class_AudioServer_property_bus_count>`
  167. .. rst-class:: classref-property-setget
  168. - |void| **set_bus_count**\ (\ value\: :ref:`int<class_int>`\ )
  169. - :ref:`int<class_int>` **get_bus_count**\ (\ )
  170. Number of available audio buses.
  171. .. rst-class:: classref-item-separator
  172. ----
  173. .. _class_AudioServer_property_input_device:
  174. .. rst-class:: classref-property
  175. :ref:`String<class_String>` **input_device** = ``"Default"`` :ref:`🔗<class_AudioServer_property_input_device>`
  176. .. rst-class:: classref-property-setget
  177. - |void| **set_input_device**\ (\ value\: :ref:`String<class_String>`\ )
  178. - :ref:`String<class_String>` **get_input_device**\ (\ )
  179. Name of the current device for audio input (see :ref:`get_input_device_list<class_AudioServer_method_get_input_device_list>`). On systems with multiple audio inputs (such as analog, USB and HDMI audio), this can be used to select the audio input device. The value ``"Default"`` will record audio on the system-wide default audio input. If an invalid device name is set, the value will be reverted back to ``"Default"``.
  180. \ **Note:** :ref:`ProjectSettings.audio/driver/enable_input<class_ProjectSettings_property_audio/driver/enable_input>` must be ``true`` for audio input to work. See also that setting's description for caveats related to permissions and operating system privacy settings.
  181. .. rst-class:: classref-item-separator
  182. ----
  183. .. _class_AudioServer_property_output_device:
  184. .. rst-class:: classref-property
  185. :ref:`String<class_String>` **output_device** = ``"Default"`` :ref:`🔗<class_AudioServer_property_output_device>`
  186. .. rst-class:: classref-property-setget
  187. - |void| **set_output_device**\ (\ value\: :ref:`String<class_String>`\ )
  188. - :ref:`String<class_String>` **get_output_device**\ (\ )
  189. Name of the current device for audio output (see :ref:`get_output_device_list<class_AudioServer_method_get_output_device_list>`). On systems with multiple audio outputs (such as analog, USB and HDMI audio), this can be used to select the audio output device. The value ``"Default"`` will play audio on the system-wide default audio output. If an invalid device name is set, the value will be reverted back to ``"Default"``.
  190. .. rst-class:: classref-item-separator
  191. ----
  192. .. _class_AudioServer_property_playback_speed_scale:
  193. .. rst-class:: classref-property
  194. :ref:`float<class_float>` **playback_speed_scale** = ``1.0`` :ref:`🔗<class_AudioServer_property_playback_speed_scale>`
  195. .. rst-class:: classref-property-setget
  196. - |void| **set_playback_speed_scale**\ (\ value\: :ref:`float<class_float>`\ )
  197. - :ref:`float<class_float>` **get_playback_speed_scale**\ (\ )
  198. Scales the rate at which audio is played (i.e. setting it to ``0.5`` will make the audio be played at half its speed). See also :ref:`Engine.time_scale<class_Engine_property_time_scale>` to affect the general simulation speed, which is independent from :ref:`playback_speed_scale<class_AudioServer_property_playback_speed_scale>`.
  199. .. rst-class:: classref-section-separator
  200. ----
  201. .. rst-class:: classref-descriptions-group
  202. Method Descriptions
  203. -------------------
  204. .. _class_AudioServer_method_add_bus:
  205. .. rst-class:: classref-method
  206. |void| **add_bus**\ (\ at_position\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_AudioServer_method_add_bus>`
  207. Adds a bus at ``at_position``.
  208. .. rst-class:: classref-item-separator
  209. ----
  210. .. _class_AudioServer_method_add_bus_effect:
  211. .. rst-class:: classref-method
  212. |void| **add_bus_effect**\ (\ bus_idx\: :ref:`int<class_int>`, effect\: :ref:`AudioEffect<class_AudioEffect>`, at_position\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_AudioServer_method_add_bus_effect>`
  213. Adds an :ref:`AudioEffect<class_AudioEffect>` effect to the bus ``bus_idx`` at ``at_position``.
  214. .. rst-class:: classref-item-separator
  215. ----
  216. .. _class_AudioServer_method_generate_bus_layout:
  217. .. rst-class:: classref-method
  218. :ref:`AudioBusLayout<class_AudioBusLayout>` **generate_bus_layout**\ (\ ) |const| :ref:`🔗<class_AudioServer_method_generate_bus_layout>`
  219. Generates an :ref:`AudioBusLayout<class_AudioBusLayout>` using the available buses and effects.
  220. .. rst-class:: classref-item-separator
  221. ----
  222. .. _class_AudioServer_method_get_bus_channels:
  223. .. rst-class:: classref-method
  224. :ref:`int<class_int>` **get_bus_channels**\ (\ bus_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_AudioServer_method_get_bus_channels>`
  225. Returns the number of channels of the bus at index ``bus_idx``.
  226. .. rst-class:: classref-item-separator
  227. ----
  228. .. _class_AudioServer_method_get_bus_effect:
  229. .. rst-class:: classref-method
  230. :ref:`AudioEffect<class_AudioEffect>` **get_bus_effect**\ (\ bus_idx\: :ref:`int<class_int>`, effect_idx\: :ref:`int<class_int>`\ ) :ref:`🔗<class_AudioServer_method_get_bus_effect>`
  231. Returns the :ref:`AudioEffect<class_AudioEffect>` at position ``effect_idx`` in bus ``bus_idx``.
  232. .. rst-class:: classref-item-separator
  233. ----
  234. .. _class_AudioServer_method_get_bus_effect_count:
  235. .. rst-class:: classref-method
  236. :ref:`int<class_int>` **get_bus_effect_count**\ (\ bus_idx\: :ref:`int<class_int>`\ ) :ref:`🔗<class_AudioServer_method_get_bus_effect_count>`
  237. Returns the number of effects on the bus at ``bus_idx``.
  238. .. rst-class:: classref-item-separator
  239. ----
  240. .. _class_AudioServer_method_get_bus_effect_instance:
  241. .. rst-class:: classref-method
  242. :ref:`AudioEffectInstance<class_AudioEffectInstance>` **get_bus_effect_instance**\ (\ bus_idx\: :ref:`int<class_int>`, effect_idx\: :ref:`int<class_int>`, channel\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_AudioServer_method_get_bus_effect_instance>`
  243. Returns the :ref:`AudioEffectInstance<class_AudioEffectInstance>` assigned to the given bus and effect indices (and optionally channel).
  244. .. rst-class:: classref-item-separator
  245. ----
  246. .. _class_AudioServer_method_get_bus_index:
  247. .. rst-class:: classref-method
  248. :ref:`int<class_int>` **get_bus_index**\ (\ bus_name\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_AudioServer_method_get_bus_index>`
  249. Returns the index of the bus with the name ``bus_name``. Returns ``-1`` if no bus with the specified name exist.
  250. .. rst-class:: classref-item-separator
  251. ----
  252. .. _class_AudioServer_method_get_bus_name:
  253. .. rst-class:: classref-method
  254. :ref:`String<class_String>` **get_bus_name**\ (\ bus_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_AudioServer_method_get_bus_name>`
  255. Returns the name of the bus with the index ``bus_idx``.
  256. .. rst-class:: classref-item-separator
  257. ----
  258. .. _class_AudioServer_method_get_bus_peak_volume_left_db:
  259. .. rst-class:: classref-method
  260. :ref:`float<class_float>` **get_bus_peak_volume_left_db**\ (\ bus_idx\: :ref:`int<class_int>`, channel\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_AudioServer_method_get_bus_peak_volume_left_db>`
  261. Returns the peak volume of the left speaker at bus index ``bus_idx`` and channel index ``channel``.
  262. .. rst-class:: classref-item-separator
  263. ----
  264. .. _class_AudioServer_method_get_bus_peak_volume_right_db:
  265. .. rst-class:: classref-method
  266. :ref:`float<class_float>` **get_bus_peak_volume_right_db**\ (\ bus_idx\: :ref:`int<class_int>`, channel\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_AudioServer_method_get_bus_peak_volume_right_db>`
  267. Returns the peak volume of the right speaker at bus index ``bus_idx`` and channel index ``channel``.
  268. .. rst-class:: classref-item-separator
  269. ----
  270. .. _class_AudioServer_method_get_bus_send:
  271. .. rst-class:: classref-method
  272. :ref:`StringName<class_StringName>` **get_bus_send**\ (\ bus_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_AudioServer_method_get_bus_send>`
  273. Returns the name of the bus that the bus at index ``bus_idx`` sends to.
  274. .. rst-class:: classref-item-separator
  275. ----
  276. .. _class_AudioServer_method_get_bus_volume_db:
  277. .. rst-class:: classref-method
  278. :ref:`float<class_float>` **get_bus_volume_db**\ (\ bus_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_AudioServer_method_get_bus_volume_db>`
  279. Returns the volume of the bus at index ``bus_idx`` in dB.
  280. .. rst-class:: classref-item-separator
  281. ----
  282. .. _class_AudioServer_method_get_input_device_list:
  283. .. rst-class:: classref-method
  284. :ref:`PackedStringArray<class_PackedStringArray>` **get_input_device_list**\ (\ ) :ref:`🔗<class_AudioServer_method_get_input_device_list>`
  285. Returns the names of all audio input devices detected on the system.
  286. \ **Note:** :ref:`ProjectSettings.audio/driver/enable_input<class_ProjectSettings_property_audio/driver/enable_input>` must be ``true`` for audio input to work. See also that setting's description for caveats related to permissions and operating system privacy settings.
  287. .. rst-class:: classref-item-separator
  288. ----
  289. .. _class_AudioServer_method_get_mix_rate:
  290. .. rst-class:: classref-method
  291. :ref:`float<class_float>` **get_mix_rate**\ (\ ) |const| :ref:`🔗<class_AudioServer_method_get_mix_rate>`
  292. Returns the sample rate at the output of the **AudioServer**.
  293. .. rst-class:: classref-item-separator
  294. ----
  295. .. _class_AudioServer_method_get_output_device_list:
  296. .. rst-class:: classref-method
  297. :ref:`PackedStringArray<class_PackedStringArray>` **get_output_device_list**\ (\ ) :ref:`🔗<class_AudioServer_method_get_output_device_list>`
  298. Returns the names of all audio output devices detected on the system.
  299. .. rst-class:: classref-item-separator
  300. ----
  301. .. _class_AudioServer_method_get_output_latency:
  302. .. rst-class:: classref-method
  303. :ref:`float<class_float>` **get_output_latency**\ (\ ) |const| :ref:`🔗<class_AudioServer_method_get_output_latency>`
  304. Returns the audio driver's effective output latency. This is based on :ref:`ProjectSettings.audio/driver/output_latency<class_ProjectSettings_property_audio/driver/output_latency>`, but the exact returned value will differ depending on the operating system and audio driver.
  305. \ **Note:** This can be expensive; it is not recommended to call :ref:`get_output_latency<class_AudioServer_method_get_output_latency>` every frame.
  306. .. rst-class:: classref-item-separator
  307. ----
  308. .. _class_AudioServer_method_get_speaker_mode:
  309. .. rst-class:: classref-method
  310. :ref:`SpeakerMode<enum_AudioServer_SpeakerMode>` **get_speaker_mode**\ (\ ) |const| :ref:`🔗<class_AudioServer_method_get_speaker_mode>`
  311. Returns the speaker configuration.
  312. .. rst-class:: classref-item-separator
  313. ----
  314. .. _class_AudioServer_method_get_time_since_last_mix:
  315. .. rst-class:: classref-method
  316. :ref:`float<class_float>` **get_time_since_last_mix**\ (\ ) |const| :ref:`🔗<class_AudioServer_method_get_time_since_last_mix>`
  317. Returns the relative time since the last mix occurred.
  318. .. rst-class:: classref-item-separator
  319. ----
  320. .. _class_AudioServer_method_get_time_to_next_mix:
  321. .. rst-class:: classref-method
  322. :ref:`float<class_float>` **get_time_to_next_mix**\ (\ ) |const| :ref:`🔗<class_AudioServer_method_get_time_to_next_mix>`
  323. Returns the relative time until the next mix occurs.
  324. .. rst-class:: classref-item-separator
  325. ----
  326. .. _class_AudioServer_method_is_bus_bypassing_effects:
  327. .. rst-class:: classref-method
  328. :ref:`bool<class_bool>` **is_bus_bypassing_effects**\ (\ bus_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_AudioServer_method_is_bus_bypassing_effects>`
  329. If ``true``, the bus at index ``bus_idx`` is bypassing effects.
  330. .. rst-class:: classref-item-separator
  331. ----
  332. .. _class_AudioServer_method_is_bus_effect_enabled:
  333. .. rst-class:: classref-method
  334. :ref:`bool<class_bool>` **is_bus_effect_enabled**\ (\ bus_idx\: :ref:`int<class_int>`, effect_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_AudioServer_method_is_bus_effect_enabled>`
  335. If ``true``, the effect at index ``effect_idx`` on the bus at index ``bus_idx`` is enabled.
  336. .. rst-class:: classref-item-separator
  337. ----
  338. .. _class_AudioServer_method_is_bus_mute:
  339. .. rst-class:: classref-method
  340. :ref:`bool<class_bool>` **is_bus_mute**\ (\ bus_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_AudioServer_method_is_bus_mute>`
  341. If ``true``, the bus at index ``bus_idx`` is muted.
  342. .. rst-class:: classref-item-separator
  343. ----
  344. .. _class_AudioServer_method_is_bus_solo:
  345. .. rst-class:: classref-method
  346. :ref:`bool<class_bool>` **is_bus_solo**\ (\ bus_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_AudioServer_method_is_bus_solo>`
  347. If ``true``, the bus at index ``bus_idx`` is in solo mode.
  348. .. rst-class:: classref-item-separator
  349. ----
  350. .. _class_AudioServer_method_lock:
  351. .. rst-class:: classref-method
  352. |void| **lock**\ (\ ) :ref:`🔗<class_AudioServer_method_lock>`
  353. Locks the audio driver's main loop.
  354. \ **Note:** Remember to unlock it afterwards.
  355. .. rst-class:: classref-item-separator
  356. ----
  357. .. _class_AudioServer_method_move_bus:
  358. .. rst-class:: classref-method
  359. |void| **move_bus**\ (\ index\: :ref:`int<class_int>`, to_index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_AudioServer_method_move_bus>`
  360. Moves the bus from index ``index`` to index ``to_index``.
  361. .. rst-class:: classref-item-separator
  362. ----
  363. .. _class_AudioServer_method_remove_bus:
  364. .. rst-class:: classref-method
  365. |void| **remove_bus**\ (\ index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_AudioServer_method_remove_bus>`
  366. Removes the bus at index ``index``.
  367. .. rst-class:: classref-item-separator
  368. ----
  369. .. _class_AudioServer_method_remove_bus_effect:
  370. .. rst-class:: classref-method
  371. |void| **remove_bus_effect**\ (\ bus_idx\: :ref:`int<class_int>`, effect_idx\: :ref:`int<class_int>`\ ) :ref:`🔗<class_AudioServer_method_remove_bus_effect>`
  372. Removes the effect at index ``effect_idx`` from the bus at index ``bus_idx``.
  373. .. rst-class:: classref-item-separator
  374. ----
  375. .. _class_AudioServer_method_set_bus_bypass_effects:
  376. .. rst-class:: classref-method
  377. |void| **set_bus_bypass_effects**\ (\ bus_idx\: :ref:`int<class_int>`, enable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_AudioServer_method_set_bus_bypass_effects>`
  378. If ``true``, the bus at index ``bus_idx`` is bypassing effects.
  379. .. rst-class:: classref-item-separator
  380. ----
  381. .. _class_AudioServer_method_set_bus_effect_enabled:
  382. .. rst-class:: classref-method
  383. |void| **set_bus_effect_enabled**\ (\ bus_idx\: :ref:`int<class_int>`, effect_idx\: :ref:`int<class_int>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_AudioServer_method_set_bus_effect_enabled>`
  384. If ``true``, the effect at index ``effect_idx`` on the bus at index ``bus_idx`` is enabled.
  385. .. rst-class:: classref-item-separator
  386. ----
  387. .. _class_AudioServer_method_set_bus_layout:
  388. .. rst-class:: classref-method
  389. |void| **set_bus_layout**\ (\ bus_layout\: :ref:`AudioBusLayout<class_AudioBusLayout>`\ ) :ref:`🔗<class_AudioServer_method_set_bus_layout>`
  390. Overwrites the currently used :ref:`AudioBusLayout<class_AudioBusLayout>`.
  391. .. rst-class:: classref-item-separator
  392. ----
  393. .. _class_AudioServer_method_set_bus_mute:
  394. .. rst-class:: classref-method
  395. |void| **set_bus_mute**\ (\ bus_idx\: :ref:`int<class_int>`, enable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_AudioServer_method_set_bus_mute>`
  396. If ``true``, the bus at index ``bus_idx`` is muted.
  397. .. rst-class:: classref-item-separator
  398. ----
  399. .. _class_AudioServer_method_set_bus_name:
  400. .. rst-class:: classref-method
  401. |void| **set_bus_name**\ (\ bus_idx\: :ref:`int<class_int>`, name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_AudioServer_method_set_bus_name>`
  402. Sets the name of the bus at index ``bus_idx`` to ``name``.
  403. .. rst-class:: classref-item-separator
  404. ----
  405. .. _class_AudioServer_method_set_bus_send:
  406. .. rst-class:: classref-method
  407. |void| **set_bus_send**\ (\ bus_idx\: :ref:`int<class_int>`, send\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_AudioServer_method_set_bus_send>`
  408. Connects the output of the bus at ``bus_idx`` to the bus named ``send``.
  409. .. rst-class:: classref-item-separator
  410. ----
  411. .. _class_AudioServer_method_set_bus_solo:
  412. .. rst-class:: classref-method
  413. |void| **set_bus_solo**\ (\ bus_idx\: :ref:`int<class_int>`, enable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_AudioServer_method_set_bus_solo>`
  414. If ``true``, the bus at index ``bus_idx`` is in solo mode.
  415. .. rst-class:: classref-item-separator
  416. ----
  417. .. _class_AudioServer_method_set_bus_volume_db:
  418. .. rst-class:: classref-method
  419. |void| **set_bus_volume_db**\ (\ bus_idx\: :ref:`int<class_int>`, volume_db\: :ref:`float<class_float>`\ ) :ref:`🔗<class_AudioServer_method_set_bus_volume_db>`
  420. Sets the volume of the bus at index ``bus_idx`` to ``volume_db``.
  421. .. rst-class:: classref-item-separator
  422. ----
  423. .. _class_AudioServer_method_set_enable_tagging_used_audio_streams:
  424. .. rst-class:: classref-method
  425. |void| **set_enable_tagging_used_audio_streams**\ (\ enable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_AudioServer_method_set_enable_tagging_used_audio_streams>`
  426. If set to ``true``, all instances of :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` will call :ref:`AudioStreamPlayback._tag_used_streams<class_AudioStreamPlayback_private_method__tag_used_streams>` every mix step.
  427. \ **Note:** This is enabled by default in the editor, as it is used by editor plugins for the audio stream previews.
  428. .. rst-class:: classref-item-separator
  429. ----
  430. .. _class_AudioServer_method_swap_bus_effects:
  431. .. rst-class:: classref-method
  432. |void| **swap_bus_effects**\ (\ bus_idx\: :ref:`int<class_int>`, effect_idx\: :ref:`int<class_int>`, by_effect_idx\: :ref:`int<class_int>`\ ) :ref:`🔗<class_AudioServer_method_swap_bus_effects>`
  433. Swaps the position of two effects in bus ``bus_idx``.
  434. .. rst-class:: classref-item-separator
  435. ----
  436. .. _class_AudioServer_method_unlock:
  437. .. rst-class:: classref-method
  438. |void| **unlock**\ (\ ) :ref:`🔗<class_AudioServer_method_unlock>`
  439. Unlocks the audio driver's main loop. (After locking it, you should always unlock it.)
  440. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  441. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  442. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  443. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  444. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  445. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  446. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  447. .. |void| replace:: :abbr:`void (No return value.)`