123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- :github_url: hide
- .. DO NOT EDIT THIS FILE!!!
- .. Generated automatically from Godot engine sources.
- .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
- .. XML source: https://github.com/godotengine/godot/tree/master/modules/minimp3/doc_classes/AudioStreamMP3.xml.
- .. _class_AudioStreamMP3:
- AudioStreamMP3
- ==============
- **Inherits:** :ref:`AudioStream<class_AudioStream>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
- MP3 audio stream driver.
- .. rst-class:: classref-introduction-group
- Description
- -----------
- MP3 audio stream driver. See :ref:`data<class_AudioStreamMP3_property_data>` if you want to load an MP3 file at run-time.
- .. rst-class:: classref-reftable-group
- Properties
- ----------
- .. table::
- :widths: auto
- +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
- | :ref:`int<class_int>` | :ref:`bar_beats<class_AudioStreamMP3_property_bar_beats>` | ``4`` |
- +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
- | :ref:`int<class_int>` | :ref:`beat_count<class_AudioStreamMP3_property_beat_count>` | ``0`` |
- +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`bpm<class_AudioStreamMP3_property_bpm>` | ``0.0`` |
- +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
- | :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`data<class_AudioStreamMP3_property_data>` | ``PackedByteArray()`` |
- +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
- | :ref:`bool<class_bool>` | :ref:`loop<class_AudioStreamMP3_property_loop>` | ``false`` |
- +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`loop_offset<class_AudioStreamMP3_property_loop_offset>` | ``0.0`` |
- +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Property Descriptions
- ---------------------
- .. _class_AudioStreamMP3_property_bar_beats:
- .. rst-class:: classref-property
- :ref:`int<class_int>` **bar_beats** = ``4``
- .. rst-class:: classref-property-setget
- - void **set_bar_beats** **(** :ref:`int<class_int>` value **)**
- - :ref:`int<class_int>` **get_bar_beats** **(** **)**
- .. container:: contribute
- There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
- .. rst-class:: classref-item-separator
- ----
- .. _class_AudioStreamMP3_property_beat_count:
- .. rst-class:: classref-property
- :ref:`int<class_int>` **beat_count** = ``0``
- .. rst-class:: classref-property-setget
- - void **set_beat_count** **(** :ref:`int<class_int>` value **)**
- - :ref:`int<class_int>` **get_beat_count** **(** **)**
- .. container:: contribute
- There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
- .. rst-class:: classref-item-separator
- ----
- .. _class_AudioStreamMP3_property_bpm:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **bpm** = ``0.0``
- .. rst-class:: classref-property-setget
- - void **set_bpm** **(** :ref:`float<class_float>` value **)**
- - :ref:`float<class_float>` **get_bpm** **(** **)**
- .. container:: contribute
- There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
- .. rst-class:: classref-item-separator
- ----
- .. _class_AudioStreamMP3_property_data:
- .. rst-class:: classref-property
- :ref:`PackedByteArray<class_PackedByteArray>` **data** = ``PackedByteArray()``
- .. rst-class:: classref-property-setget
- - void **set_data** **(** :ref:`PackedByteArray<class_PackedByteArray>` value **)**
- - :ref:`PackedByteArray<class_PackedByteArray>` **get_data** **(** **)**
- Contains the audio data in bytes.
- 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).
- .. tabs::
- .. code-tab:: gdscript
- func load_mp3(path):
- var file = FileAccess.open(path, FileAccess.READ)
- var sound = AudioStreamMP3.new()
- sound.data = file.get_buffer(file.get_length())
- return sound
- .. code-tab:: csharp
- public AudioStreamMP3 LoadMP3(string path)
- {
- using var file = FileAccess.Open(path, FileAccess.ModeFlags.Read);
- var sound = new AudioStreamMP3();
- sound.Data = file.GetBuffer(file.GetLength());
- return sound;
- }
- .. rst-class:: classref-item-separator
- ----
- .. _class_AudioStreamMP3_property_loop:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **loop** = ``false``
- .. rst-class:: classref-property-setget
- - void **set_loop** **(** :ref:`bool<class_bool>` value **)**
- - :ref:`bool<class_bool>` **has_loop** **(** **)**
- If ``true``, the stream will automatically loop when it reaches the end.
- .. rst-class:: classref-item-separator
- ----
- .. _class_AudioStreamMP3_property_loop_offset:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **loop_offset** = ``0.0``
- .. rst-class:: classref-property-setget
- - void **set_loop_offset** **(** :ref:`float<class_float>` value **)**
- - :ref:`float<class_float>` **get_loop_offset** **(** **)**
- Time in seconds at which the stream starts after being looped.
- .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
- .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
- .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
- .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
- .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
- .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
- .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
|