class_audiostreammp3.rst 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  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. .. rst-class:: classref-reftable-group
  16. Properties
  17. ----------
  18. .. table::
  19. :widths: auto
  20. +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
  21. | :ref:`int<class_int>` | :ref:`bar_beats<class_AudioStreamMP3_property_bar_beats>` | ``4`` |
  22. +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
  23. | :ref:`int<class_int>` | :ref:`beat_count<class_AudioStreamMP3_property_beat_count>` | ``0`` |
  24. +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
  25. | :ref:`float<class_float>` | :ref:`bpm<class_AudioStreamMP3_property_bpm>` | ``0.0`` |
  26. +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
  27. | :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`data<class_AudioStreamMP3_property_data>` | ``PackedByteArray()`` |
  28. +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
  29. | :ref:`bool<class_bool>` | :ref:`loop<class_AudioStreamMP3_property_loop>` | ``false`` |
  30. +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
  31. | :ref:`float<class_float>` | :ref:`loop_offset<class_AudioStreamMP3_property_loop_offset>` | ``0.0`` |
  32. +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
  33. .. rst-class:: classref-section-separator
  34. ----
  35. .. rst-class:: classref-descriptions-group
  36. Property Descriptions
  37. ---------------------
  38. .. _class_AudioStreamMP3_property_bar_beats:
  39. .. rst-class:: classref-property
  40. :ref:`int<class_int>` **bar_beats** = ``4``
  41. .. rst-class:: classref-property-setget
  42. - void **set_bar_beats** **(** :ref:`int<class_int>` value **)**
  43. - :ref:`int<class_int>` **get_bar_beats** **(** **)**
  44. .. container:: contribute
  45. There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  46. .. rst-class:: classref-item-separator
  47. ----
  48. .. _class_AudioStreamMP3_property_beat_count:
  49. .. rst-class:: classref-property
  50. :ref:`int<class_int>` **beat_count** = ``0``
  51. .. rst-class:: classref-property-setget
  52. - void **set_beat_count** **(** :ref:`int<class_int>` value **)**
  53. - :ref:`int<class_int>` **get_beat_count** **(** **)**
  54. .. container:: contribute
  55. There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  56. .. rst-class:: classref-item-separator
  57. ----
  58. .. _class_AudioStreamMP3_property_bpm:
  59. .. rst-class:: classref-property
  60. :ref:`float<class_float>` **bpm** = ``0.0``
  61. .. rst-class:: classref-property-setget
  62. - void **set_bpm** **(** :ref:`float<class_float>` value **)**
  63. - :ref:`float<class_float>` **get_bpm** **(** **)**
  64. .. container:: contribute
  65. There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  66. .. rst-class:: classref-item-separator
  67. ----
  68. .. _class_AudioStreamMP3_property_data:
  69. .. rst-class:: classref-property
  70. :ref:`PackedByteArray<class_PackedByteArray>` **data** = ``PackedByteArray()``
  71. .. rst-class:: classref-property-setget
  72. - void **set_data** **(** :ref:`PackedByteArray<class_PackedByteArray>` value **)**
  73. - :ref:`PackedByteArray<class_PackedByteArray>` **get_data** **(** **)**
  74. Contains the audio data in bytes.
  75. 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).
  76. .. tabs::
  77. .. code-tab:: gdscript
  78. func load_mp3(path):
  79. var file = FileAccess.open(path, FileAccess.READ)
  80. var sound = AudioStreamMP3.new()
  81. sound.data = file.get_buffer(file.get_length())
  82. return sound
  83. .. code-tab:: csharp
  84. public AudioStreamMP3 LoadMP3(string path)
  85. {
  86. using var file = FileAccess.Open(path, FileAccess.ModeFlags.Read);
  87. var sound = new AudioStreamMP3();
  88. sound.Data = file.GetBuffer(file.GetLength());
  89. return sound;
  90. }
  91. .. rst-class:: classref-item-separator
  92. ----
  93. .. _class_AudioStreamMP3_property_loop:
  94. .. rst-class:: classref-property
  95. :ref:`bool<class_bool>` **loop** = ``false``
  96. .. rst-class:: classref-property-setget
  97. - void **set_loop** **(** :ref:`bool<class_bool>` value **)**
  98. - :ref:`bool<class_bool>` **has_loop** **(** **)**
  99. If ``true``, the stream will automatically loop when it reaches the end.
  100. .. rst-class:: classref-item-separator
  101. ----
  102. .. _class_AudioStreamMP3_property_loop_offset:
  103. .. rst-class:: classref-property
  104. :ref:`float<class_float>` **loop_offset** = ``0.0``
  105. .. rst-class:: classref-property-setget
  106. - void **set_loop_offset** **(** :ref:`float<class_float>` value **)**
  107. - :ref:`float<class_float>` **get_loop_offset** **(** **)**
  108. Time in seconds at which the stream starts after being looped.
  109. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  110. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  111. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  112. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  113. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  114. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  115. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`