Class Video
- All Implemented Interfaces:
Proxy
,Accessible
,Buildable
,ConstraintTarget
GtkVideo
is a widget to show a GtkMediaStream
with media controls.
The controls are available separately as MediaControls
.
If you just want to display a video without controls, you can treat it
like any other paintable and for example put it into a Picture
.
GtkVideo
aims to cover use cases such as previews, embedded animations,
etc. It supports autoplay, looping, and simple media controls. It does
not have support for video overlays, multichannel audio, device
selection, or input. If you are writing a full-fledged video player,
you may want to use the Paintable
API and a media framework
such as Gstreamer directly.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Video.Builder<B extends Video.Builder<B>>
Inner class implementing a builder pattern to construct a GObject with properties.static class
Nested classes/interfaces inherited from class org.gnome.gtk.Widget
Widget.DestroyCallback, Widget.DirectionChangedCallback, Widget.HideCallback, Widget.KeynavFailedCallback, Widget.MapCallback, Widget.MnemonicActivateCallback, Widget.MoveFocusCallback, Widget.QueryTooltipCallback, Widget.RealizeCallback, Widget.ShowCallback, Widget.StateFlagsChangedCallback, Widget.UnmapCallback, Widget.UnrealizeCallback, Widget.WidgetClass, Widget.WidgetImpl
Nested classes/interfaces inherited from class org.gnome.gobject.InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClass
Nested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback, GObject.ObjectClass
Nested classes/interfaces inherited from interface org.gnome.gtk.Accessible
Accessible.AccessibleImpl, Accessible.AccessibleInterface
Nested classes/interfaces inherited from interface org.gnome.gtk.Buildable
Buildable.BuildableIface, Buildable.BuildableImpl
Nested classes/interfaces inherited from interface org.gnome.gtk.ConstraintTarget
ConstraintTarget.ConstraintTargetImpl, ConstraintTarget.ConstraintTargetInterface
-
Constructor Summary
ConstructorDescriptionVideo()
Creates a new emptyGtkVideo
.Video
(MemorySegment address) Create a Video proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected Video
asParent()
Returns this instance as if it were its parent type.static Video.Builder
<? extends Video.Builder> builder()
AVideo.Builder
object constructs aVideo
with the specified properties.static Video
Creates aGtkVideo
to play back the givenfile
.static Video
forFilename
(@Nullable String filename) Creates aGtkVideo
to play back the givenfilename
.static Video
forMediaStream
(@Nullable MediaStream stream) Creates aGtkVideo
to play back the givenstream
.static Video
forResource
(@Nullable String resourcePath) Creates aGtkVideo
to play back the resource at the givenresourcePath
.boolean
Returnstrue
if videos have been set to loop.getFile()
Gets the file played by this Video ornull
if not playing back a file.Returns whether graphics offload is enabled.boolean
getLoop()
Returnstrue
if videos have been set to loop.Gets the media stream managed by this Video ornull
if none.static Type
getType()
Get the GType of the Video classvoid
setAutoplay
(boolean autoplay) Sets whether this Video automatically starts playback when it becomes visible or when a new file gets loaded.void
Makes this Video play the givenfile
.void
setFilename
(@Nullable String filename) Makes this Video play the givenfilename
.void
setGraphicsOffload
(GraphicsOffloadEnabled enabled) Sets whether to enable graphics offload.void
setLoop
(boolean loop) Sets whether new files loaded by this Video should be set to loop.void
setMediaStream
(@Nullable MediaStream stream) Sets the media stream to be played back.void
setResource
(@Nullable String resourcePath) Makes this Video play the resource at the givenresourcePath
.Methods inherited from class org.gnome.gtk.Widget
actionSetEnabled, activateActionIfExists, activateDefault, activateWidget, addController, addCssClass, addMnemonicLabel, addTickCallback, allocate, childFocus, computeBounds, computeExpand, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, cssChanged, directionChanged, disposeTemplate, dragCheckThreshold, emitDestroy, emitDirectionChanged, emitHide, emitKeynavFailed, emitMap, emitMnemonicActivate, emitMoveFocus, emitQueryTooltip, emitRealize, emitShow, emitStateFlagsChanged, emitUnmap, emitUnrealize, errorBell, focus, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getBaseline, getCanFocus, getCanTarget, getChildVisible, getClipboard, getColor, getCssClasses, getCssName, getCursor, getDefaultDirection, getDirection, getDisplay, getFirstChild, getFocusable, getFocusChild, getFocusOnClick, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getLastChild, getLayoutManager, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getMemoryLayout, getName, getNative, getNextSibling, getOpacity, getOverflow, getPangoContext, getParent, getPreferredSize, getPrevSibling, getPrimaryClipboard, getRealized, getReceivesDefault, getRequestMode, getRoot, getScaleFactor, getSensitive, getSettings, getSize, getSizeRequest, getStateFlags, getStyleContext, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth, grabFocus, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, moveFocus, observeChildren, observeControllers, onDestroy, onDirectionChanged, onHide, onKeynavFailed, onMap, onMnemonicActivate, onMoveFocus, onQueryTooltip, onRealize, onShow, onStateFlagsChanged, onUnmap, onUnrealize, pick, pick, queryTooltip, queueAllocate, queueDraw, queueResize, realize, removeController, removeCssClass, removeMnemonicLabel, removeTickCallback, root, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setDefaultDirection, setDirection, setFocusable, setFocusChild, setFocusOnClick, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setOpacity, setOverflow, setParent, setReceivesDefault, setSensitive, setSizeRequest, setStateFlags, setStateFlags, setTooltipMarkup, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible, shouldLayout, show, sizeAllocate, sizeAllocate, snapshot, snapshotChild, stateFlagsChanged, systemSettingChanged, translateCoordinates, triggerTooltipQuery, unmap, unparent, unrealize, unroot, unsetStateFlags, unsetStateFlags
Methods inherited from class org.gnome.gobject.GObject
addToggleRef, addWeakPointer, bindProperty, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, connect, constructed, disconnect, dispatchPropertiesChanged, dispose, dupData, dupQdata, emit, emitNotify, finalize_, forceFloating, freezeNotify, get, getData, getProperty, getProperty, getProperty, getQdata, getv, interfaceFindProperty, interfaceInstallProperty, interfaceListProperties, isFloating, newInstance, newInstance, newInstance, newInstance, newv, notify_, notify_, notifyByPspec, onNotify, ref, refSink, removeToggleRef, removeWeakPointer, replaceData, replaceQdata, runDispose, set, setData, setDataFull, setProperty, setProperty, setProperty, setQdata, setQdataFull, setv, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref, withProperties
Methods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, getPrivate, readGClass, writeGClass
Methods inherited from class io.github.jwharm.javagi.base.ProxyInstance
equals, handle, hashCode
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.gnome.gtk.Accessible
announce, getAccessibleParent, getAccessibleRole, getAtContext, getBounds, getFirstAccessibleChild, getNextAccessibleSibling, getPlatformState, resetProperty, resetRelation, resetState, setAccessibleParent, updateNextAccessibleSibling, updateProperty, updateRelation, updateState
Methods inherited from interface org.gnome.gtk.Buildable
getBuildableId
-
Constructor Details
-
Video
Create a Video proxy instance for the provided memory address.- Parameters:
address
- the memory address of the native object
-
Video
public Video()Creates a new emptyGtkVideo
.
-
-
Method Details
-
getType
-
asParent
Returns this instance as if it were its parent type. This is mostly synonymous to the Javasuper
keyword, but will set the native typeclass function pointers to the parent type. When overriding a native virtual method in Java, "chaining up" withsuper.methodName()
doesn't work, because it invokes the overridden function pointer again. To chain up, callasParent().methodName()
. This will call the native function pointer of this virtual method in the typeclass of the parent type. -
forFile
-
forFilename
Creates aGtkVideo
to play back the givenfilename
.This is a utility function that calls
forFile(org.gnome.gio.File)
, See that function for details.- Parameters:
filename
- filename to play back- Returns:
- a new
GtkVideo
-
forMediaStream
Creates aGtkVideo
to play back the givenstream
.- Parameters:
stream
- aGtkMediaStream
- Returns:
- a new
GtkVideo
-
forResource
Creates aGtkVideo
to play back the resource at the givenresourcePath
.This is a utility function that calls
forFile(org.gnome.gio.File)
.- Parameters:
resourcePath
- resource path to play back- Returns:
- a new
GtkVideo
-
getAutoplay
public boolean getAutoplay()Returnstrue
if videos have been set to loop.- Returns:
true
if streams should autoplay
-
getFile
Gets the file played by this Video ornull
if not playing back a file.- Returns:
- The file played by this Video
-
getGraphicsOffload
Returns whether graphics offload is enabled.See
GraphicsOffload
for more information on graphics offload.- Returns:
- the graphics offload status
-
getLoop
public boolean getLoop()Returnstrue
if videos have been set to loop.- Returns:
true
if streams should loop
-
getMediaStream
Gets the media stream managed by this Video ornull
if none.- Returns:
- The media stream managed by this Video
-
setAutoplay
public void setAutoplay(boolean autoplay) Sets whether this Video automatically starts playback when it becomes visible or when a new file gets loaded.- Parameters:
autoplay
- whether media streams should autoplay
-
setFile
Makes this Video play the givenfile
.- Parameters:
file
- the file to play
-
setFilename
Makes this Video play the givenfilename
.This is a utility function that calls gtk_video_set_file(),
- Parameters:
filename
- the filename to play
-
setGraphicsOffload
Sets whether to enable graphics offload.See
GraphicsOffload
for more information on graphics offload.- Parameters:
enabled
- the new graphics offload status
-
setLoop
public void setLoop(boolean loop) Sets whether new files loaded by this Video should be set to loop.- Parameters:
loop
- whether media streams should loop
-
setMediaStream
Sets the media stream to be played back.this Video will take full control of managing the media stream. If you want to manage a media stream yourself, consider using a
Picture
for display.If you want to display a file, consider using
setFile(org.gnome.gio.File)
instead.- Parameters:
stream
- The media stream to play ornull
to unset
-
setResource
Makes this Video play the resource at the givenresourcePath
.This is a utility function that calls
setFile(org.gnome.gio.File)
.- Parameters:
resourcePath
- the resource to set
-
builder
AVideo.Builder
object constructs aVideo
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withVideo.Builder.build()
.
-