:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/4.0/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/4.0/doc/classes/VideoStreamPlayer.xml. .. _class_VideoStreamPlayer: VideoStreamPlayer ================= **Inherits:** :ref:`Control` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` A control used for video playback. .. rst-class:: classref-introduction-group Description ----------- A control used for playback of :ref:`VideoStream` resources. Supported video formats are `Ogg Theora `__ (``.ogv``, :ref:`VideoStreamTheora`) and any format exposed via a GDExtension plugin. \ **Note:** Due to a bug, VideoStreamPlayer does not support localization remapping yet. \ **Warning:** On Web, video playback *will* perform poorly due to missing architecture-specific assembly optimizations. .. rst-class:: classref-reftable-group Properties ---------- .. table:: :widths: auto +---------------------------------------+--------------------------------------------------------------------------+---------------+ | :ref:`int` | :ref:`audio_track` | ``0`` | +---------------------------------------+--------------------------------------------------------------------------+---------------+ | :ref:`bool` | :ref:`autoplay` | ``false`` | +---------------------------------------+--------------------------------------------------------------------------+---------------+ | :ref:`int` | :ref:`buffering_msec` | ``500`` | +---------------------------------------+--------------------------------------------------------------------------+---------------+ | :ref:`StringName` | :ref:`bus` | ``&"Master"`` | +---------------------------------------+--------------------------------------------------------------------------+---------------+ | :ref:`bool` | :ref:`expand` | ``false`` | +---------------------------------------+--------------------------------------------------------------------------+---------------+ | :ref:`bool` | :ref:`paused` | ``false`` | +---------------------------------------+--------------------------------------------------------------------------+---------------+ | :ref:`VideoStream` | :ref:`stream` | | +---------------------------------------+--------------------------------------------------------------------------+---------------+ | :ref:`float` | :ref:`stream_position` | | +---------------------------------------+--------------------------------------------------------------------------+---------------+ | :ref:`float` | :ref:`volume` | | +---------------------------------------+--------------------------------------------------------------------------+---------------+ | :ref:`float` | :ref:`volume_db` | ``0.0`` | +---------------------------------------+--------------------------------------------------------------------------+---------------+ .. rst-class:: classref-reftable-group Methods ------- .. table:: :widths: auto +-----------------------------------+------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_stream_name` **(** **)** |const| | +-----------------------------------+------------------------------------------------------------------------------------------------+ | :ref:`Texture2D` | :ref:`get_video_texture` **(** **)** |const| | +-----------------------------------+------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_playing` **(** **)** |const| | +-----------------------------------+------------------------------------------------------------------------------------------------+ | void | :ref:`play` **(** **)** | +-----------------------------------+------------------------------------------------------------------------------------------------+ | void | :ref:`stop` **(** **)** | +-----------------------------------+------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Signals ------- .. _class_VideoStreamPlayer_signal_finished: .. rst-class:: classref-signal **finished** **(** **)** Emitted when playback is finished. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Property Descriptions --------------------- .. _class_VideoStreamPlayer_property_audio_track: .. rst-class:: classref-property :ref:`int` **audio_track** = ``0`` .. rst-class:: classref-property-setget - void **set_audio_track** **(** :ref:`int` value **)** - :ref:`int` **get_audio_track** **(** **)** The embedded audio track to play. .. rst-class:: classref-item-separator ---- .. _class_VideoStreamPlayer_property_autoplay: .. rst-class:: classref-property :ref:`bool` **autoplay** = ``false`` .. rst-class:: classref-property-setget - void **set_autoplay** **(** :ref:`bool` value **)** - :ref:`bool` **has_autoplay** **(** **)** If ``true``, playback starts when the scene loads. .. rst-class:: classref-item-separator ---- .. _class_VideoStreamPlayer_property_buffering_msec: .. rst-class:: classref-property :ref:`int` **buffering_msec** = ``500`` .. rst-class:: classref-property-setget - void **set_buffering_msec** **(** :ref:`int` value **)** - :ref:`int` **get_buffering_msec** **(** **)** Amount of time in milliseconds to store in buffer while playing. .. rst-class:: classref-item-separator ---- .. _class_VideoStreamPlayer_property_bus: .. rst-class:: classref-property :ref:`StringName` **bus** = ``&"Master"`` .. rst-class:: classref-property-setget - void **set_bus** **(** :ref:`StringName` value **)** - :ref:`StringName` **get_bus** **(** **)** Audio bus to use for sound playback. .. rst-class:: classref-item-separator ---- .. _class_VideoStreamPlayer_property_expand: .. rst-class:: classref-property :ref:`bool` **expand** = ``false`` .. rst-class:: classref-property-setget - void **set_expand** **(** :ref:`bool` value **)** - :ref:`bool` **has_expand** **(** **)** If ``true``, the video scales to the control size. Otherwise, the control minimum size will be automatically adjusted to match the video stream's dimensions. .. rst-class:: classref-item-separator ---- .. _class_VideoStreamPlayer_property_paused: .. rst-class:: classref-property :ref:`bool` **paused** = ``false`` .. rst-class:: classref-property-setget - void **set_paused** **(** :ref:`bool` value **)** - :ref:`bool` **is_paused** **(** **)** If ``true``, the video is paused. .. rst-class:: classref-item-separator ---- .. _class_VideoStreamPlayer_property_stream: .. rst-class:: classref-property :ref:`VideoStream` **stream** .. rst-class:: classref-property-setget - void **set_stream** **(** :ref:`VideoStream` value **)** - :ref:`VideoStream` **get_stream** **(** **)** The assigned video stream. See description for supported formats. .. rst-class:: classref-item-separator ---- .. _class_VideoStreamPlayer_property_stream_position: .. rst-class:: classref-property :ref:`float` **stream_position** .. rst-class:: classref-property-setget - void **set_stream_position** **(** :ref:`float` value **)** - :ref:`float` **get_stream_position** **(** **)** The current position of the stream, in seconds. \ **Note:** Changing this value won't have any effect as seeking is not implemented yet, except in video formats implemented by a GDExtension add-on. .. rst-class:: classref-item-separator ---- .. _class_VideoStreamPlayer_property_volume: .. rst-class:: classref-property :ref:`float` **volume** .. rst-class:: classref-property-setget - void **set_volume** **(** :ref:`float` value **)** - :ref:`float` **get_volume** **(** **)** Audio volume as a linear value. .. rst-class:: classref-item-separator ---- .. _class_VideoStreamPlayer_property_volume_db: .. rst-class:: classref-property :ref:`float` **volume_db** = ``0.0`` .. rst-class:: classref-property-setget - void **set_volume_db** **(** :ref:`float` value **)** - :ref:`float` **get_volume_db** **(** **)** Audio volume in dB. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Method Descriptions ------------------- .. _class_VideoStreamPlayer_method_get_stream_name: .. rst-class:: classref-method :ref:`String` **get_stream_name** **(** **)** |const| Returns the video stream's name, or ``""`` if no video stream is assigned. .. rst-class:: classref-item-separator ---- .. _class_VideoStreamPlayer_method_get_video_texture: .. rst-class:: classref-method :ref:`Texture2D` **get_video_texture** **(** **)** |const| Returns the current frame as a :ref:`Texture2D`. .. rst-class:: classref-item-separator ---- .. _class_VideoStreamPlayer_method_is_playing: .. rst-class:: classref-method :ref:`bool` **is_playing** **(** **)** |const| Returns ``true`` if the video is playing. \ **Note:** The video is still considered playing if paused during playback. .. rst-class:: classref-item-separator ---- .. _class_VideoStreamPlayer_method_play: .. rst-class:: classref-method void **play** **(** **)** Starts the video playback from the beginning. If the video is paused, this will not unpause the video. .. rst-class:: classref-item-separator ---- .. _class_VideoStreamPlayer_method_stop: .. rst-class:: classref-method void **stop** **(** **)** Stops the video playback and sets the stream position to 0. \ **Note:** Although the stream position will be set to 0, the first frame of the video stream won't become the current frame. .. |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.)`