: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/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. \ **Warning:** On Web, video playback *will* perform poorly due to missing architecture-specific assembly optimizations. .. rst-class:: classref-introduction-group Tutorials --------- - :doc:`Playing videos <../tutorials/animation/playing_videos>` .. 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:`loop` | ``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:`float` | :ref:`get_stream_length`\ (\ ) |const| | +-----------------------------------+------------------------------------------------------------------------------------------+ | :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**\ (\ ) :ref:`🔗` 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`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_audio_track**\ (\ value\: :ref:`int`\ ) - :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`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_autoplay**\ (\ value\: :ref:`bool`\ ) - :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`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_buffering_msec**\ (\ value\: :ref:`int`\ ) - :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"`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_bus**\ (\ value\: :ref:`StringName`\ ) - :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`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_expand**\ (\ value\: :ref:`bool`\ ) - :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_loop: .. rst-class:: classref-property :ref:`bool` **loop** = ``false`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_loop**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **has_loop**\ (\ ) If ``true``, the video restarts when it reaches its end. .. rst-class:: classref-item-separator ---- .. _class_VideoStreamPlayer_property_paused: .. rst-class:: classref-property :ref:`bool` **paused** = ``false`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_paused**\ (\ value\: :ref:`bool`\ ) - :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** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_stream**\ (\ value\: :ref:`VideoStream`\ ) - :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** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_stream_position**\ (\ value\: :ref:`float`\ ) - :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** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_volume**\ (\ value\: :ref:`float`\ ) - :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`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_volume_db**\ (\ value\: :ref:`float`\ ) - :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_length: .. rst-class:: classref-method :ref:`float` **get_stream_length**\ (\ ) |const| :ref:`🔗` The length of the current stream, in seconds. \ **Note:** For :ref:`VideoStreamTheora` streams (the built-in format supported by Godot), this value will always be zero, as getting the stream length is not implemented yet. The feature may be supported by video formats implemented by a GDExtension add-on. .. rst-class:: classref-item-separator ---- .. _class_VideoStreamPlayer_method_get_stream_name: .. rst-class:: classref-method :ref:`String` **get_stream_name**\ (\ ) |const| :ref:`🔗` 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| :ref:`🔗` 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| :ref:`🔗` 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**\ (\ ) :ref:`🔗` 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**\ (\ ) :ref:`🔗` 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.)` .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` .. |void| replace:: :abbr:`void (No return value.)`