mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2025-12-31 09:49:22 +03:00
389 lines
17 KiB
ReStructuredText
389 lines
17 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_AudioStreamWAV:
|
||
|
||
AudioStreamWAV
|
||
==============
|
||
|
||
**Hérite de :** :ref:`AudioStream<class_AudioStream>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
|
||
|
||
Enregistre les données audio depuis les fichiers WAV.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Description
|
||
-----------
|
||
|
||
AudioStreamSample stocke des échantillons sonores chargés depuis des fichiers WAV. Pour jouer le son enregistré, utilisez un :ref:`AudioStreamPlayer<class_AudioStreamPlayer>` (pour de l'audio indépendant de la position) ou :ref:`AudioStreamPlayer2D<class_AudioStreamPlayer2D>`/:ref:`AudioStreamPlayer3D<class_AudioStreamPlayer3D>` (pour de l'audio dépendant de la positions). Le son peut être bouclé.
|
||
|
||
Cette classe peut également être utilisée pour stocker des données audio générées dynamiquement au format PCM. Voir aussi :ref:`AudioStreamGenerator<class_AudioStreamGenerator>` pour la génération audio procédurale.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Tutoriels
|
||
------------------
|
||
|
||
- :doc:`Chargement et sauvegarde de fichiers durant l’exécution <../tutorials/io/runtime_file_loading_and_saving>`
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Propriétés
|
||
--------------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+-----------------------------------------------+-------------------------------------------------------------+-----------------------+
|
||
| :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`data<class_AudioStreamWAV_property_data>` | ``PackedByteArray()`` |
|
||
+-----------------------------------------------+-------------------------------------------------------------+-----------------------+
|
||
| :ref:`Format<enum_AudioStreamWAV_Format>` | :ref:`format<class_AudioStreamWAV_property_format>` | ``0`` |
|
||
+-----------------------------------------------+-------------------------------------------------------------+-----------------------+
|
||
| :ref:`int<class_int>` | :ref:`loop_begin<class_AudioStreamWAV_property_loop_begin>` | ``0`` |
|
||
+-----------------------------------------------+-------------------------------------------------------------+-----------------------+
|
||
| :ref:`int<class_int>` | :ref:`loop_end<class_AudioStreamWAV_property_loop_end>` | ``0`` |
|
||
+-----------------------------------------------+-------------------------------------------------------------+-----------------------+
|
||
| :ref:`LoopMode<enum_AudioStreamWAV_LoopMode>` | :ref:`loop_mode<class_AudioStreamWAV_property_loop_mode>` | ``0`` |
|
||
+-----------------------------------------------+-------------------------------------------------------------+-----------------------+
|
||
| :ref:`int<class_int>` | :ref:`mix_rate<class_AudioStreamWAV_property_mix_rate>` | ``44100`` |
|
||
+-----------------------------------------------+-------------------------------------------------------------+-----------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`stereo<class_AudioStreamWAV_property_stereo>` | ``false`` |
|
||
+-----------------------------------------------+-------------------------------------------------------------+-----------------------+
|
||
| :ref:`Dictionary<class_Dictionary>` | :ref:`tags<class_AudioStreamWAV_property_tags>` | ``{}`` |
|
||
+-----------------------------------------------+-------------------------------------------------------------+-----------------------+
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Méthodes
|
||
----------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+---------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`AudioStreamWAV<class_AudioStreamWAV>` | :ref:`load_from_buffer<class_AudioStreamWAV_method_load_from_buffer>`\ (\ stream_data\: :ref:`PackedByteArray<class_PackedByteArray>`, options\: :ref:`Dictionary<class_Dictionary>` = {}\ ) |static| |
|
||
+---------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`AudioStreamWAV<class_AudioStreamWAV>` | :ref:`load_from_file<class_AudioStreamWAV_method_load_from_file>`\ (\ path\: :ref:`String<class_String>`, options\: :ref:`Dictionary<class_Dictionary>` = {}\ ) |static| |
|
||
+---------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`save_to_wav<class_AudioStreamWAV_method_save_to_wav>`\ (\ path\: :ref:`String<class_String>`\ ) |
|
||
+---------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Énumérations
|
||
------------------------
|
||
|
||
.. _enum_AudioStreamWAV_Format:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **Format**: :ref:`🔗<enum_AudioStreamWAV_Format>`
|
||
|
||
.. _class_AudioStreamWAV_constant_FORMAT_8_BITS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`Format<enum_AudioStreamWAV_Format>` **FORMAT_8_BITS** = ``0``
|
||
|
||
Codec audio 8 bits PCM.
|
||
|
||
.. _class_AudioStreamWAV_constant_FORMAT_16_BITS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`Format<enum_AudioStreamWAV_Format>` **FORMAT_16_BITS** = ``1``
|
||
|
||
Codec audio 16 bits PCM.
|
||
|
||
.. _class_AudioStreamWAV_constant_FORMAT_IMA_ADPCM:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`Format<enum_AudioStreamWAV_Format>` **FORMAT_IMA_ADPCM** = ``2``
|
||
|
||
L'audio est compressé avec perte en IMA ADPCM.
|
||
|
||
.. _class_AudioStreamWAV_constant_FORMAT_QOA:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`Format<enum_AudioStreamWAV_Format>` **FORMAT_QOA** = ``3``
|
||
|
||
L'audio est compressé avec perte au format `Quite OK Audio <https://qoaformat.org/>`__.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_AudioStreamWAV_LoopMode:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **LoopMode**: :ref:`🔗<enum_AudioStreamWAV_LoopMode>`
|
||
|
||
.. _class_AudioStreamWAV_constant_LOOP_DISABLED:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`LoopMode<enum_AudioStreamWAV_LoopMode>` **LOOP_DISABLED** = ``0``
|
||
|
||
L'audio ne boucle pas.
|
||
|
||
.. _class_AudioStreamWAV_constant_LOOP_FORWARD:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`LoopMode<enum_AudioStreamWAV_LoopMode>` **LOOP_FORWARD** = ``1``
|
||
|
||
L'audio boucle entre :ref:`loop_begin<class_AudioStreamWAV_property_loop_begin>` et :ref:`loop_end<class_AudioStreamWAV_property_loop_end>`, ne jouant qu'en avant.
|
||
|
||
.. _class_AudioStreamWAV_constant_LOOP_PINGPONG:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`LoopMode<enum_AudioStreamWAV_LoopMode>` **LOOP_PINGPONG** = ``2``
|
||
|
||
Les données audio bouclent entre :ref:`loop_begin<class_AudioStreamWAV_property_loop_begin>` et :ref:`loop_end<class_AudioStreamWAV_property_loop_end>`, jouant en arrière puis en avant.
|
||
|
||
.. _class_AudioStreamWAV_constant_LOOP_BACKWARD:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`LoopMode<enum_AudioStreamWAV_LoopMode>` **LOOP_BACKWARD** = ``3``
|
||
|
||
L'audio boucle entre :ref:`loop_begin<class_AudioStreamWAV_property_loop_begin>` et :ref:`loop_end<class_AudioStreamWAV_property_loop_end>`, ne jouant qu'en arrière.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Descriptions des propriétés
|
||
------------------------------------------------------
|
||
|
||
.. _class_AudioStreamWAV_property_data:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`PackedByteArray<class_PackedByteArray>` **data** = ``PackedByteArray()`` :ref:`🔗<class_AudioStreamWAV_property_data>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_data**\ (\ value\: :ref:`PackedByteArray<class_PackedByteArray>`\ )
|
||
- :ref:`PackedByteArray<class_PackedByteArray>` **get_data**\ (\ )
|
||
|
||
Contient les données audio en octets.
|
||
|
||
\ **Note :** Si :ref:`format<class_AudioStreamWAV_property_format>` est défini à :ref:`FORMAT_8_BITS<class_AudioStreamWAV_constant_FORMAT_8_BITS>`, cette propriété s'attend à des données PCM signées 8 bits. Pour convertir des PCM 8 bits non signés, soustraire 128 à chaque octet.
|
||
|
||
\ **Note :** Si :ref:`format<class_AudioStreamWAV_property_format>` est défini à :ref:`FORMAT_QOA<class_AudioStreamWAV_constant_FORMAT_QOA>`, cette propriété s'attend à des données d'un fichier QOA complet.
|
||
|
||
**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_AudioStreamWAV_property_format:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`Format<enum_AudioStreamWAV_Format>` **format** = ``0`` :ref:`🔗<class_AudioStreamWAV_property_format>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_format**\ (\ value\: :ref:`Format<enum_AudioStreamWAV_Format>`\ )
|
||
- :ref:`Format<enum_AudioStreamWAV_Format>` **get_format**\ (\ )
|
||
|
||
Format audio.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStreamWAV_property_loop_begin:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`int<class_int>` **loop_begin** = ``0`` :ref:`🔗<class_AudioStreamWAV_property_loop_begin>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_loop_begin**\ (\ value\: :ref:`int<class_int>`\ )
|
||
- :ref:`int<class_int>` **get_loop_begin**\ (\ )
|
||
|
||
Le point de départ de la boucle (en nombre d’échantillons, relatif au début du flux).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStreamWAV_property_loop_end:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`int<class_int>` **loop_end** = ``0`` :ref:`🔗<class_AudioStreamWAV_property_loop_end>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_loop_end**\ (\ value\: :ref:`int<class_int>`\ )
|
||
- :ref:`int<class_int>` **get_loop_end**\ (\ )
|
||
|
||
Le point de fin de la boucle (en nombre d’échantillons, relatif au début du flux).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStreamWAV_property_loop_mode:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`LoopMode<enum_AudioStreamWAV_LoopMode>` **loop_mode** = ``0`` :ref:`🔗<class_AudioStreamWAV_property_loop_mode>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_loop_mode**\ (\ value\: :ref:`LoopMode<enum_AudioStreamWAV_LoopMode>`\ )
|
||
- :ref:`LoopMode<enum_AudioStreamWAV_LoopMode>` **get_loop_mode**\ (\ )
|
||
|
||
Le mode de boucle.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStreamWAV_property_mix_rate:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`int<class_int>` **mix_rate** = ``44100`` :ref:`🔗<class_AudioStreamWAV_property_mix_rate>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_mix_rate**\ (\ value\: :ref:`int<class_int>`\ )
|
||
- :ref:`int<class_int>` **get_mix_rate**\ (\ )
|
||
|
||
Le taux d'échantillonnage pour mélanger ce son. Les valeurs plus élevées nécessitent plus d'espace de stockage, mais proposent une meilleure qualité.
|
||
|
||
Dans les jeux, les taux d'échantillonnage courants sont ``11025``, ``16000``, ``22050``, ``32000``, ``44100``, et ``48000``.
|
||
|
||
D'après le `Théorème d'échantillonnage <https://fr.wikipedia.org/wiki/Th%C3%A9or%C3%A8me_d'%C3%A9chantillonnage>`__, il n'y a aucune différence de qualité pour l'audition humaine au-delà de 40 000 Hz (puisque la plupart des humains ne peuvent entendre que jusqu'à 20 000 Hz, et souvent bien moins). Si vous générez des sons inférieurs tels que les voix, des taux d'échantillonnage inférieurs tels que ``32000`` ou ``22050`` peuvent être utilisables sans perte de qualité audible.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStreamWAV_property_stereo:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **stereo** = ``false`` :ref:`🔗<class_AudioStreamWAV_property_stereo>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_stereo**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_stereo**\ (\ )
|
||
|
||
Si ``true``, l’audio est stéréo.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStreamWAV_property_tags:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`Dictionary<class_Dictionary>` **tags** = ``{}`` :ref:`🔗<class_AudioStreamWAV_property_tags>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_tags**\ (\ value\: :ref:`Dictionary<class_Dictionary>`\ )
|
||
- :ref:`Dictionary<class_Dictionary>` **get_tags**\ (\ )
|
||
|
||
Contient des étiquettes définies par l'utilisateur si elles sont trouvées dans les données WAV.
|
||
|
||
Les étiquettes couramment utilisées incluent ``title``, ``artist``, ``album``, ``tracknumber``, et ``date`` (``date`` n'a pas un format de date standard).
|
||
|
||
\ **Note :** Aucune étiquette n'est *garantie* d'être présente dans chaque fichier, alors assurez-vous de tenir compte des clés qui n'existent pas toujours.
|
||
|
||
\ **Note :** Seuls les fichiers WAV utilisant un chunk ``LIST`` avec un identifiant ``INFO`` pour encoder les étiquettes sont actuellement supportés.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Descriptions des méthodes
|
||
--------------------------------------------------
|
||
|
||
.. _class_AudioStreamWAV_method_load_from_buffer:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`AudioStreamWAV<class_AudioStreamWAV>` **load_from_buffer**\ (\ stream_data\: :ref:`PackedByteArray<class_PackedByteArray>`, options\: :ref:`Dictionary<class_Dictionary>` = {}\ ) |static| :ref:`🔗<class_AudioStreamWAV_method_load_from_buffer>`
|
||
|
||
Crée une nouvelle instance **AudioStreamWAV** depuis le tampon donné. Le tampon doit contenir des données WAV.
|
||
|
||
Les clés et les valeurs de ``options`` correspondent aux propriétés de :ref:`ResourceImporterWAV<class_ResourceImporterWAV>`. L'utilisation de ``options`` est identique à :ref:`load_from_file()<class_AudioStreamWAV_method_load_from_file>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStreamWAV_method_load_from_file:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`AudioStreamWAV<class_AudioStreamWAV>` **load_from_file**\ (\ path\: :ref:`String<class_String>`, options\: :ref:`Dictionary<class_Dictionary>` = {}\ ) |static| :ref:`🔗<class_AudioStreamWAV_method_load_from_file>`
|
||
|
||
Crée une nouvelle instance **AudioStreamWAV** depuis le chemin de fichier donné. Le fichier doit être en format WAV.
|
||
|
||
Les clés et les valeurs de ``options`` correspondent aux propriétés de :ref:`ResourceImporterWAV<class_ResourceImporterWAV>`.
|
||
|
||
\ **Exemple :** Charger le premier fichier déposé en WAV et le jouer :
|
||
|
||
::
|
||
|
||
@onready var lecteur_audio = $AudioStreamPlayer
|
||
|
||
func _ready():
|
||
get_window().files_dropped.connect(_lorsque_fichier_depose)
|
||
|
||
func _lorsque_fichier_depose(fichiers):
|
||
if fichiers[0].get_extension() == "wav":
|
||
lecteur_audio.stream = AudioStreamWAV.load_from_file(fichiers[0], {
|
||
"force/max_rate": true,
|
||
"force/max_rate_hz": 11025
|
||
})
|
||
lecteur_audio.play()
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_AudioStreamWAV_method_save_to_wav:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Error<enum_@GlobalScope_Error>` **save_to_wav**\ (\ path\: :ref:`String<class_String>`\ ) :ref:`🔗<class_AudioStreamWAV_method_save_to_wav>`
|
||
|
||
Enregistre l'AudioStreamWAV en un fichier WAV à l'emplacement ``path``. Les échantillons au format IMA ADPCM ou Quite OK Audio ne peuvent pas être enregistrés.
|
||
|
||
\ **Note :** Une extension ``.wav`` est automatiquement ajoutée au ``path`` si elle est manquante.
|
||
|
||
.. |virtual| replace:: :abbr:`virtual (Cette méthode doit typiquement être redéfinie par l'utilisateur pour avoir un effet.)`
|
||
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
|
||
.. |const| replace:: :abbr:`const (Cette méthode n'a pas d'effets de bord. Elle ne modifie aucune des variables membres de l'instance.)`
|
||
.. |vararg| replace:: :abbr:`vararg (Cette méthode accepte n'importe quel nombre d'arguments après ceux décris ici.)`
|
||
.. |constructor| replace:: :abbr:`constructor (Cette méthode est utilisée pour construire un type.)`
|
||
.. |static| replace:: :abbr:`static (Cette méthode n'a pas besoin d'instance pour être appelée, elle peut donc être directement appelée en utilisant le nom de la classe.)`
|
||
.. |operator| replace:: :abbr:`operator (Cette méthode décrit un opérateur valide à utiliser avec ce type en tant qu'opérande gauche.)`
|
||
.. |bitfield| replace:: :abbr:`BitField (Cette valeur est un nombre entier composé d'un masque de bits des options suivantes.)`
|
||
.. |void| replace:: :abbr:`void (Aucune valeur de retour.)`
|