Unigine.WidgetSpriteVideo Class
Inherits: | WidgetSprite |
This class is used to create a virtual monitor that plays a video file (currently only *.OGV files are supported). It can be synchrozied with playback of the ambient sound or the directional sound source.
The following example illustrates how to play a video-file on the system GUI or a GUI object using the WidgetSpriteVideo class.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Unigine;
#if UNIGINE_DOUBLE
using Mat4 = Unigine.dmat4;
#else
using Mat4 = Unigine.mat4;
#endif
namespace UnigineApp
{
class AppWorldLogic : WorldLogic
{
// World logic, it takes effect only when the world is loaded.
// These methods are called right after corresponding world script's (UnigineScript) methods.
// path to the video file to play (only *.OGV type is supported)
String file_name = "<YOUR_VIDEO_FILE_NAME>.ogv";
// Define the GUIobject and WidgetSpriteVideo instances
// so that they are deleted with the AppWorldLogic instance
ObjectGui GUIobject;
// sprite video widgets
WidgetSpriteVideo TVscreen;
WidgetSpriteVideo MAINscreen;
/* .. */
public override int init()
{
// Write here code to be called on world initialization: initialize resources for your world scene during the world start.
// creating a GUI object with the following size: 1.0f x 0.5f
GUIobject = new ObjectGui(1.0f, 0.5f);
// passing node ownership to the Editor
GUIobject.release();
Editor.get().addNode(GUIobject.getNode());
// setting transformation and other parameters of the GUI object
GUIobject.setWorldTransform(new Mat4(MathLib.translate(-0.5f, 1.0f, 1.5f) * MathLib.rotateX(90.0f)));
GUIobject.setMaterial("gui_base", "*");
GUIobject.setMaterialState("mode", 1, 0);
// creating the first sprite video widget that plays a file_name video file on the GUI object
TVscreen = new WidgetSpriteVideo(GUIobject.getGui(), file_name, 1);
TVscreen.release();
// adding the sprite video widge to the GUI object
GUIobject.getGui().addChild(TVscreen.getWidget(), Gui.ALIGN_OVERLAP | Gui.ALIGN_BACKGROUND);
// setting looped playback mode
TVscreen.setLoop(1);
// launching playback
TVscreen.play();
// creating the second sprite video widget that plays a file_name video file on the system GUI
MAINscreen = new WidgetSpriteVideo(Gui.get(), file_name, 1);
MAINscreen.release();
// setting size and position of the second sprite video widget on the screen
MAINscreen.setPosition(100, 100);
MAINscreen.setWidth(400);
MAINscreen.setHeight(225);
MAINscreen.arrange();
// adding the sprite video widge to the system GUI
Gui.get().addChild(MAINscreen.getWidget(), Gui.ALIGN_OVERLAP | Gui.ALIGN_BACKGROUND);
// setting looped playback mode
MAINscreen.setLoop(1);
// launching playback
MAINscreen.play();
return 1;
}
/* .. */
}
}
See Also#
- A set of UnigineScript API samples located in the <UnigineSDK>/data/samples/widgets/ folder:
- video_00
- video_01
WidgetSpriteVideo Class
Properties
bool IsStopped#
A value indicating if the video is stopped at the moment.
bool IsPlaying#
A value indicating if the video is being played at the moment.
AmbientSource AmbientSource#
The ambient sound source according to which video playback is synchronized.
set
Synchronizes video playback to the ambient sound source playback.
set value -
Ambient sound source according to which video playback will be synchronized.
SoundSource SoundSource#
The sound source according to which video playback is synchronized.
set
Synchronizes video playback to the sound source playback.
set value -
Sound source according to which video playback will be synchronized.
float VideoTime#
The time of the currently played frame.
set
Rewinds or fast-forwards the video to a given time.
set value -
Time in seconds.
int YUV#
A flag for yuv conversion.
set
Sets a flag for YUV conversion.
set value -
Mode flag: 1 if convertion to RGB should be performed by the GPU, 0 if it is converted by the CPU.
int Loop#
A value indicating if the video is looped.
set
Sets a value indicating if the video should be looped.
set value -
Positive number to loop the video, 0 to play it only once.
Members
static WidgetSpriteVideo ( Gui gui, string name = 0, int mode = 1 ) #
Constructor. Creates a new sprite that plays video.Arguments
- Gui gui - GUI, to which the new sprite will belong.
- string name - Path to a video file.
- int mode - YUV flag: 1 if convertion to RGB should be performed by the GPU, 0 - if by the CPU.
WidgetSpriteVideo Cast ( Widget widget ) #
Casts a WidgetSpriteVideo out of the Widget instance.Arguments
- Widget widget - Widget instance.
Return value
WidgetSpriteVideo instance.void Play ( ) #
Starts playing video.void Stop ( ) #
Stops playing video. This function saves the playback position so that playing of the file can be resumed from the same point.Last update:
2019-08-16
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)