class_audiostreammp3.rst 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  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/modules/minimp3/doc_classes/AudioStreamMP3.xml.
  6. .. _class_AudioStreamMP3:
  7. AudioStreamMP3
  8. ==============
  9. **Inherits:** :ref:`AudioStream<class_AudioStream>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. MP3 audio stream driver.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. MP3 audio stream driver. See :ref:`data<class_AudioStreamMP3_property_data>` if you want to load an MP3 file at run-time.
  15. \ **Note:** This class can optionally support legacy MP1 and MP2 formats, provided that the engine is compiled with the ``minimp3_extra_formats=yes`` SCons option. These extra formats are not enabled by default.
  16. .. rst-class:: classref-reftable-group
  17. Properties
  18. ----------
  19. .. table::
  20. :widths: auto
  21. +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
  22. | :ref:`int<class_int>` | :ref:`bar_beats<class_AudioStreamMP3_property_bar_beats>` | ``4`` |
  23. +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
  24. | :ref:`int<class_int>` | :ref:`beat_count<class_AudioStreamMP3_property_beat_count>` | ``0`` |
  25. +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
  26. | :ref:`float<class_float>` | :ref:`bpm<class_AudioStreamMP3_property_bpm>` | ``0.0`` |
  27. +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
  28. | :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`data<class_AudioStreamMP3_property_data>` | ``PackedByteArray()`` |
  29. +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
  30. | :ref:`bool<class_bool>` | :ref:`loop<class_AudioStreamMP3_property_loop>` | ``false`` |
  31. +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
  32. | :ref:`float<class_float>` | :ref:`loop_offset<class_AudioStreamMP3_property_loop_offset>` | ``0.0`` |
  33. +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
  34. .. rst-class:: classref-reftable-group
  35. Methods
  36. -------
  37. .. table::
  38. :widths: auto
  39. +---------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
  40. | :ref:`AudioStreamMP3<class_AudioStreamMP3>` | :ref:`load_from_buffer<class_AudioStreamMP3_method_load_from_buffer>`\ (\ stream_data\: :ref:`PackedByteArray<class_PackedByteArray>`\ ) |static| |
  41. +---------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
  42. | :ref:`AudioStreamMP3<class_AudioStreamMP3>` | :ref:`load_from_file<class_AudioStreamMP3_method_load_from_file>`\ (\ path\: :ref:`String<class_String>`\ ) |static| |
  43. +---------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
  44. .. rst-class:: classref-section-separator
  45. ----
  46. .. rst-class:: classref-descriptions-group
  47. Property Descriptions
  48. ---------------------
  49. .. _class_AudioStreamMP3_property_bar_beats:
  50. .. rst-class:: classref-property
  51. :ref:`int<class_int>` **bar_beats** = ``4`` :ref:`🔗<class_AudioStreamMP3_property_bar_beats>`
  52. .. rst-class:: classref-property-setget
  53. - |void| **set_bar_beats**\ (\ value\: :ref:`int<class_int>`\ )
  54. - :ref:`int<class_int>` **get_bar_beats**\ (\ )
  55. .. container:: contribute
  56. There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  57. .. rst-class:: classref-item-separator
  58. ----
  59. .. _class_AudioStreamMP3_property_beat_count:
  60. .. rst-class:: classref-property
  61. :ref:`int<class_int>` **beat_count** = ``0`` :ref:`🔗<class_AudioStreamMP3_property_beat_count>`
  62. .. rst-class:: classref-property-setget
  63. - |void| **set_beat_count**\ (\ value\: :ref:`int<class_int>`\ )
  64. - :ref:`int<class_int>` **get_beat_count**\ (\ )
  65. .. container:: contribute
  66. There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  67. .. rst-class:: classref-item-separator
  68. ----
  69. .. _class_AudioStreamMP3_property_bpm:
  70. .. rst-class:: classref-property
  71. :ref:`float<class_float>` **bpm** = ``0.0`` :ref:`🔗<class_AudioStreamMP3_property_bpm>`
  72. .. rst-class:: classref-property-setget
  73. - |void| **set_bpm**\ (\ value\: :ref:`float<class_float>`\ )
  74. - :ref:`float<class_float>` **get_bpm**\ (\ )
  75. .. container:: contribute
  76. There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  77. .. rst-class:: classref-item-separator
  78. ----
  79. .. _class_AudioStreamMP3_property_data:
  80. .. rst-class:: classref-property
  81. :ref:`PackedByteArray<class_PackedByteArray>` **data** = ``PackedByteArray()`` :ref:`🔗<class_AudioStreamMP3_property_data>`
  82. .. rst-class:: classref-property-setget
  83. - |void| **set_data**\ (\ value\: :ref:`PackedByteArray<class_PackedByteArray>`\ )
  84. - :ref:`PackedByteArray<class_PackedByteArray>` **get_data**\ (\ )
  85. Contains the audio data in bytes.
  86. You can load a file without having to import it beforehand using the code snippet below. Keep in mind that this snippet loads the whole file into memory and may not be ideal for huge files (hundreds of megabytes or more).
  87. .. tabs::
  88. .. code-tab:: gdscript
  89. func load_mp3(path):
  90. var file = FileAccess.open(path, FileAccess.READ)
  91. var sound = AudioStreamMP3.new()
  92. sound.data = file.get_buffer(file.get_length())
  93. return sound
  94. .. code-tab:: csharp
  95. public AudioStreamMP3 LoadMP3(string path)
  96. {
  97. using var file = FileAccess.Open(path, FileAccess.ModeFlags.Read);
  98. var sound = new AudioStreamMP3();
  99. sound.Data = file.GetBuffer(file.GetLength());
  100. return sound;
  101. }
  102. **Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedByteArray<class_PackedByteArray>` for more details.
  103. .. rst-class:: classref-item-separator
  104. ----
  105. .. _class_AudioStreamMP3_property_loop:
  106. .. rst-class:: classref-property
  107. :ref:`bool<class_bool>` **loop** = ``false`` :ref:`🔗<class_AudioStreamMP3_property_loop>`
  108. .. rst-class:: classref-property-setget
  109. - |void| **set_loop**\ (\ value\: :ref:`bool<class_bool>`\ )
  110. - :ref:`bool<class_bool>` **has_loop**\ (\ )
  111. If ``true``, the stream will automatically loop when it reaches the end.
  112. .. rst-class:: classref-item-separator
  113. ----
  114. .. _class_AudioStreamMP3_property_loop_offset:
  115. .. rst-class:: classref-property
  116. :ref:`float<class_float>` **loop_offset** = ``0.0`` :ref:`🔗<class_AudioStreamMP3_property_loop_offset>`
  117. .. rst-class:: classref-property-setget
  118. - |void| **set_loop_offset**\ (\ value\: :ref:`float<class_float>`\ )
  119. - :ref:`float<class_float>` **get_loop_offset**\ (\ )
  120. Time in seconds at which the stream starts after being looped.
  121. .. rst-class:: classref-section-separator
  122. ----
  123. .. rst-class:: classref-descriptions-group
  124. Method Descriptions
  125. -------------------
  126. .. _class_AudioStreamMP3_method_load_from_buffer:
  127. .. rst-class:: classref-method
  128. :ref:`AudioStreamMP3<class_AudioStreamMP3>` **load_from_buffer**\ (\ stream_data\: :ref:`PackedByteArray<class_PackedByteArray>`\ ) |static| :ref:`🔗<class_AudioStreamMP3_method_load_from_buffer>`
  129. Creates a new **AudioStreamMP3** instance from the given buffer. The buffer must contain MP3 data.
  130. .. rst-class:: classref-item-separator
  131. ----
  132. .. _class_AudioStreamMP3_method_load_from_file:
  133. .. rst-class:: classref-method
  134. :ref:`AudioStreamMP3<class_AudioStreamMP3>` **load_from_file**\ (\ path\: :ref:`String<class_String>`\ ) |static| :ref:`🔗<class_AudioStreamMP3_method_load_from_file>`
  135. Creates a new **AudioStreamMP3** instance from the given file path. The file must be in MP3 format.
  136. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  137. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  138. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  139. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  140. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  141. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  142. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  143. .. |void| replace:: :abbr:`void (No return value.)`