:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/3.5/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/3.5/doc/classes/VideoPlayer.xml. .. _class_VideoPlayer: VideoPlayer =========== **Inherits:** :ref:`Control` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` Control for playing video streams. .. rst-class:: classref-introduction-group Description ----------- Control node for playing video streams using :ref:`VideoStream` resources. Supported video formats are `WebM `__ (``.webm``, :ref:`VideoStreamWebm`), `Ogg Theora `__ (``.ogv``, :ref:`VideoStreamTheora`), and any format exposed via a GDNative plugin using :ref:`VideoStreamGDNative`. \ **Note:** Due to a bug, VideoPlayer does not support localization remapping yet. \ **Warning:** On HTML5, video playback *will* perform poorly due to missing architecture-specific assembly optimizations, especially for VP8/VP9. .. 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:`String` | :ref:`bus` | ``"Master"`` | +---------------------------------------+--------------------------------------------------------------------+--------------+ | :ref:`bool` | :ref:`expand` | ``true`` | +---------------------------------------+--------------------------------------------------------------------+--------------+ | :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:`Texture` | :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_VideoPlayer_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_VideoPlayer_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_VideoPlayer_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_VideoPlayer_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_VideoPlayer_property_bus: .. rst-class:: classref-property :ref:`String` **bus** = ``"Master"`` .. rst-class:: classref-property-setget - void **set_bus** **(** :ref:`String` value **)** - :ref:`String` **get_bus** **(** **)** Audio bus to use for sound playback. .. rst-class:: classref-item-separator ---- .. _class_VideoPlayer_property_expand: .. rst-class:: classref-property :ref:`bool` **expand** = ``true`` .. 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_VideoPlayer_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_VideoPlayer_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_VideoPlayer_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 GDNative add-on. .. rst-class:: classref-item-separator ---- .. _class_VideoPlayer_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_VideoPlayer_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_VideoPlayer_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_VideoPlayer_method_get_video_texture: .. rst-class:: classref-method :ref:`Texture` **get_video_texture** **(** **)** |const| Returns the current frame as a :ref:`Texture`. .. rst-class:: classref-item-separator ---- .. _class_VideoPlayer_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_VideoPlayer_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_VideoPlayer_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.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`