123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- :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.
- \ **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.
- .. 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-reftable-group
- Methods
- -------
- .. table::
- :widths: auto
- +---------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`AudioStreamMP3<class_AudioStreamMP3>` | :ref:`load_from_buffer<class_AudioStreamMP3_method_load_from_buffer>`\ (\ stream_data\: :ref:`PackedByteArray<class_PackedByteArray>`\ ) |static| |
- +---------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`AudioStreamMP3<class_AudioStreamMP3>` | :ref:`load_from_file<class_AudioStreamMP3_method_load_from_file>`\ (\ path\: :ref:`String<class_String>`\ ) |static| |
- +---------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
- .. 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`` :ref:`🔗<class_AudioStreamMP3_property_bar_beats>`
- .. rst-class:: classref-property-setget
- - |void| **set_bar_beats**\ (\ value\: :ref:`int<class_int>`\ )
- - :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`` :ref:`🔗<class_AudioStreamMP3_property_beat_count>`
- .. rst-class:: classref-property-setget
- - |void| **set_beat_count**\ (\ value\: :ref:`int<class_int>`\ )
- - :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`` :ref:`🔗<class_AudioStreamMP3_property_bpm>`
- .. rst-class:: classref-property-setget
- - |void| **set_bpm**\ (\ value\: :ref:`float<class_float>`\ )
- - :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()`` :ref:`🔗<class_AudioStreamMP3_property_data>`
- .. rst-class:: classref-property-setget
- - |void| **set_data**\ (\ value\: :ref:`PackedByteArray<class_PackedByteArray>`\ )
- - :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;
- }
- **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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_AudioStreamMP3_property_loop:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **loop** = ``false`` :ref:`🔗<class_AudioStreamMP3_property_loop>`
- .. rst-class:: classref-property-setget
- - |void| **set_loop**\ (\ value\: :ref:`bool<class_bool>`\ )
- - :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`` :ref:`🔗<class_AudioStreamMP3_property_loop_offset>`
- .. rst-class:: classref-property-setget
- - |void| **set_loop_offset**\ (\ value\: :ref:`float<class_float>`\ )
- - :ref:`float<class_float>` **get_loop_offset**\ (\ )
- Time in seconds at which the stream starts after being looped.
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Method Descriptions
- -------------------
- .. _class_AudioStreamMP3_method_load_from_buffer:
- .. rst-class:: classref-method
- :ref:`AudioStreamMP3<class_AudioStreamMP3>` **load_from_buffer**\ (\ stream_data\: :ref:`PackedByteArray<class_PackedByteArray>`\ ) |static| :ref:`🔗<class_AudioStreamMP3_method_load_from_buffer>`
- Creates a new **AudioStreamMP3** instance from the given buffer. The buffer must contain MP3 data.
- .. rst-class:: classref-item-separator
- ----
- .. _class_AudioStreamMP3_method_load_from_file:
- .. rst-class:: classref-method
- :ref:`AudioStreamMP3<class_AudioStreamMP3>` **load_from_file**\ (\ path\: :ref:`String<class_String>`\ ) |static| :ref:`🔗<class_AudioStreamMP3_method_load_from_file>`
- Creates a new **AudioStreamMP3** instance from the given file path. The file must be in MP3 format.
- .. |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.)`
- .. |void| replace:: :abbr:`void (No return value.)`
|