Class Video
- All Implemented Interfaces:
Accessible,Buildable,ConstraintTarget,Proxy
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
Nested ClassesModifier and TypeClassDescriptionstatic classVideo.Builder<B extends Video.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.static classNested 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.Widget$Impl, Widget.WidgetClassNested classes/interfaces inherited from class org.gnome.gobject.InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClassNested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback, GObject.ObjectClassNested classes/interfaces inherited from interface org.gnome.gtk.Accessible
Accessible.Accessible$Impl, Accessible.AccessibleInterfaceNested classes/interfaces inherited from interface org.gnome.gtk.Buildable
Buildable.Buildable$Impl, Buildable.BuildableIfaceNested classes/interfaces inherited from interface org.gnome.gtk.ConstraintTarget
ConstraintTarget.ConstraintTarget$Impl, ConstraintTarget.ConstraintTargetInterface -
Constructor Summary
ConstructorsConstructorDescriptionVideo()Creates a new Video.Video(MemorySegment address) Create a Video proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected VideoasParent()Returns this instance as if it were its parent type.static Video.Builder<? extends Video.Builder> builder()AVideo.Builderobject constructs aVideowith the specified properties.static VideoCreates aGtkVideoto play back the givenfile.static VideoforFilename(@Nullable String filename) Creates aGtkVideoto play back the givenfilename.static VideoforMediaStream(@Nullable MediaStream stream) Creates aGtkVideoto play back the givenstream.static VideoforResource(@Nullable String resourcePath) Creates aGtkVideoto play back the resource at the givenresourcePath.booleanReturnstrueif videos have been set to loop.@Nullable FilegetFile()Gets the file played by this Video ornullif not playing back a file.Returns whether graphics offload is enabled.booleangetLoop()Returnstrueif videos have been set to loop.@Nullable MediaStreamGets the media stream managed by this Video ornullif none.static @Nullable TypegetType()Get the GType of the Video classvoidsetAutoplay(boolean autoplay) Sets whether this Video automatically starts playback when it becomes visible or when a new file gets loaded.voidMakes this Video play the givenfile.voidsetFilename(@Nullable String filename) Makes this Video play the givenfilename.voidsetGraphicsOffload(GraphicsOffloadEnabled enabled) Sets whether to enable graphics offload.voidsetLoop(boolean loop) Sets whether new files loaded by this Video should be set to loop.voidsetMediaStream(@Nullable MediaStream stream) Sets the media stream to be played back.voidsetResource(@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, getLimitEvents, 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, setLimitEvents, 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, unsetStateFlagsMethods 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, 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, withPropertiesMethods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, cast, getPrivate, readGClass, writeGClassMethods inherited from class org.javagi.base.ProxyInstance
equals, handle, hashCodeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.gnome.gtk.Accessible
announce, getAccessibleParent, getAccessibleRole, getAtContext, getBounds, getFirstAccessibleChild, getNextAccessibleSibling, getPlatformState, resetProperty, resetRelation, resetState, setAccessibleParent, updateNextAccessibleSibling, updatePlatformState, updateProperty, updateRelation, updateStateMethods 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 Video.
-
-
Method Details
-
getType
-
asParent
Returns this instance as if it were its parent type. This is mostly synonymous to the Javasuperkeyword, 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 aGtkVideoto 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 aGtkVideoto play back the givenstream.- Parameters:
stream- aGtkMediaStream- Returns:
- a new
GtkVideo
-
forResource
Creates aGtkVideoto 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()Returnstrueif videos have been set to loop.- Returns:
trueif streams should autoplay
-
getFile
Gets the file played by this Video ornullif not playing back a file.- Returns:
- The file played by this Video
-
getGraphicsOffload
Returns whether graphics offload is enabled.See
GraphicsOffloadfor more information on graphics offload.- Returns:
- the graphics offload status
- Since:
- 4.14
-
getLoop
public boolean getLoop()Returnstrueif videos have been set to loop.- Returns:
trueif streams should loop
-
getMediaStream
Gets the media stream managed by this Video ornullif 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
GraphicsOffloadfor more information on graphics offload.- Parameters:
enabled- the new graphics offload status- Since:
- 4.14
-
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
Picturefor display.If you want to display a file, consider using
setFile(org.gnome.gio.File)instead.- Parameters:
stream- The media stream to play ornullto 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.Builderobject constructs aVideowith the specified properties. Use the variousset...()methods to set properties, and finish construction withVideo.Builder.build().- Returns:
- the builder object
-