class Gtk::MediaFile
- Gtk::MediaFile
- Gtk::MediaStream
- GObject::Object
- Reference
- Object
Overview
Gtk::MediaFile
implements Gtk::MediaStream
for files.
This provides a simple way to play back video files with GTK.
GTK provides a GIO extension point for Gtk::MediaFile
implementations
to allow for external implementations using various media frameworks.
GTK itself includes implementations using GStreamer and ffmpeg.
Included Modules
Defined in:
lib/gi-crystal/src/auto/gtk-4.0/media_file.crConstructors
-
.new : self
Creates a new empty media file.
- .new(*, duration : Int64? = nil, ended : Bool? = nil, error : GLib::Error? = nil, file : Gio::File? = nil, has_audio : Bool? = nil, has_video : Bool? = nil, input_stream : Gio::InputStream? = nil, loop : Bool? = nil, muted : Bool? = nil, playing : Bool? = nil, prepared : Bool? = nil, seekable : Bool? = nil, seeking : Bool? = nil, timestamp : Int64? = nil, volume : Float64? = nil)
-
.new_for_file(file : Gio::File) : self
Creates a new media file to play @file.
-
.new_for_filename(filename : String) : self
Creates a new media file for the given filename.
-
.new_for_input_stream(stream : Gio::InputStream) : self
Creates a new media file to play @stream.
-
.new_for_resource(resource_path : String) : self
Creates a new new media file for the given resource.
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
Instance Method Summary
-
#clear : Nil
Resets the media file to be empty.
-
#file : Gio::File?
Returns the file that @self is currently playing from.
-
#file=(file : Gio::File?) : Nil
Sets the
Gtk::MediaFile
to play the given file. -
#filename=(filename : String?) : Nil
Sets the `Gtk::MediaFile to play the given file.
-
#input_stream : Gio::InputStream?
Returns the stream that @self is currently playing from.
-
#input_stream=(stream : Gio::InputStream?) : Nil
Sets the
Gtk::MediaFile
to play the given stream. -
#resource=(resource_path : String?) : Nil
Sets the `Gtk::MediaFile to play the given resource.
Instance methods inherited from module Gdk::Paintable
compute_concrete_size(specified_width : Float64, specified_height : Float64, default_width : Float64, default_height : Float64, concrete_width : Float64, concrete_height : Float64) : Nil
compute_concrete_size,
current_image : Gdk::Paintable
current_image,
flags : Gdk::PaintableFlags
flags,
intrinsic_aspect_ratio : Float64
intrinsic_aspect_ratio,
intrinsic_height : Int32
intrinsic_height,
intrinsic_width : Int32
intrinsic_width,
invalidate_contents : Nil
invalidate_contents,
invalidate_contents_signal
invalidate_contents_signal,
invalidate_size : Nil
invalidate_size,
invalidate_size_signal
invalidate_size_signal,
snapshot(snapshot : Gdk::Snapshot, width : Float64, height : Float64) : Nil
snapshot,
to_unsafe
to_unsafe
Class methods inherited from module Gdk::Paintable
g_type : UInt64
g_type,
new_empty(intrinsic_width : Int32, intrinsic_height : Int32) : Gdk::Paintable
new_empty
Instance methods inherited from class Gtk::MediaStream
duration : Int64
duration,
ended : Bool
ended,
ended? : Bool
ended?,
error : GLib::Error?
error,
gerror(error : GLib::Error) : Nil
gerror,
has_audio : Bool
has_audio,
has_audio? : Bool
has_audio?,
has_video : Bool
has_video,
has_video? : Bool
has_video?,
is_prepared : Bool
is_prepared,
is_seekable : Bool
is_seekable,
is_seeking : Bool
is_seeking,
loop : Bool
loop,
loop=(loop : Bool) : Nil
loop=,
loop? : Bool
loop?,
muted : Bool
muted,
muted=(muted : Bool) : Nil
muted=,
muted? : Bool
muted?,
pause : Nil
pause,
play : Nil
play,
playing : Bool
playing,
playing=(playing : Bool) : Nil
playing=,
playing? : Bool
playing?,
prepared=(value : Bool) : Bool
prepared=,
prepared? : Bool
prepared?,
realize(surface : Gdk::Surface) : Nil
realize,
seek(timestamp : Int64) : Nil
seek,
seek_failed : Nil
seek_failed,
seek_success : Nil
seek_success,
seekable? : Bool
seekable?,
seeking? : Bool
seeking?,
stream_ended : Nil
stream_ended,
stream_prepared(has_audio : Bool, has_video : Bool, seekable : Bool, duration : Int64) : Nil
stream_prepared,
stream_unprepared : Nil
stream_unprepared,
timestamp : Int64
timestamp,
unrealize(surface : Gdk::Surface) : Nil
unrealize,
update(timestamp : Int64) : Nil
update,
volume : Float64
volume,
volume=(volume : Float64) : Nil
volume=
Constructor methods inherited from class Gtk::MediaStream
newnew(*, duration : Int64? = nil, ended : Bool? = nil, error : GLib::Error? = nil, has_audio : Bool? = nil, has_video : Bool? = nil, loop : Bool? = nil, muted : Bool? = nil, playing : Bool? = nil, prepared : Bool? = nil, seekable : Bool? = nil, seeking : Bool? = nil, timestamp : Int64? = nil, volume : Float64? = nil) new
Class methods inherited from class Gtk::MediaStream
g_type : UInt64
g_type
Instance methods inherited from module Gdk::Paintable
compute_concrete_size(specified_width : Float64, specified_height : Float64, default_width : Float64, default_height : Float64, concrete_width : Float64, concrete_height : Float64) : Nil
compute_concrete_size,
current_image : Gdk::Paintable
current_image,
flags : Gdk::PaintableFlags
flags,
intrinsic_aspect_ratio : Float64
intrinsic_aspect_ratio,
intrinsic_height : Int32
intrinsic_height,
intrinsic_width : Int32
intrinsic_width,
invalidate_contents : Nil
invalidate_contents,
invalidate_contents_signal
invalidate_contents_signal,
invalidate_size : Nil
invalidate_size,
invalidate_size_signal
invalidate_size_signal,
snapshot(snapshot : Gdk::Snapshot, width : Float64, height : Float64) : Nil
snapshot,
to_unsafe
to_unsafe
Class methods inherited from module Gdk::Paintable
g_type : UInt64
g_type,
new_empty(intrinsic_width : Int32, intrinsic_height : Int32) : Gdk::Paintable
new_empty
Instance methods inherited from class GObject::Object
bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding
bind_property,
bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding
bind_property_full,
data(key : String) : Pointer(Void)?
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
notify(property_name : String) : Nil
notify,
notify_by_pspec(pspec : GObject::ParamSpec) : Nil
notify_by_pspec,
notify_signal
notify_signal,
property(property_name : String, value : _) : Nil
property,
qdata(quark : UInt32) : Pointer(Void)?
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void)?) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void)?
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void)?
steal_qdata,
thaw_notify : Nil
thaw_notify,
to_unsafe : Pointer(Void)
to_unsafe,
watch_closure(closure : GObject::Closure) : Nil
watch_closure
Constructor methods inherited from class GObject::Object
cast(obj : GObject::Object) : self
cast,
cast?(obj : GObject::Object) : self?
cast?,
new(pointer : Pointer(Void), transfer : GICrystal::Transfer)new new, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv
Class methods inherited from class GObject::Object
compat_control(what : UInt64, data : Pointer(Void)?) : UInt64
compat_control,
g_type : UInt64
g_type,
interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec
interface_find_property,
interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec)
interface_list_properties
Constructor Detail
Creates a new media file for the given filename.
This is a utility function that converts the given @filename
to a GFile
and calls Gtk::MediaFile#new_for_file
.
Creates a new media file to play @stream.
If you want the resulting media to be seekable,
the stream should implement the GSeekable
interface.
Creates a new new media file for the given resource.
This is a utility function that converts the given @resource
to a GFile
and calls Gtk::MediaFile#new_for_file
.
Class Method Detail
Instance Method Detail
Returns the file that @self is currently playing from.
When @self is not playing or not playing from a file,
nil
is returned.
Sets the `Gtk::MediaFile to play the given file.
This is a utility function that converts the given @filename
to a GFile
and calls Gtk::MediaFile#file=
.
Returns the stream that @self is currently playing from.
When @self is not playing or not playing from a stream,
nil
is returned.
Sets the Gtk::MediaFile
to play the given stream.
If anything is still playing, stop playing it.
Full control about the @stream is assumed for the duration of playback. The stream will not be closed.
Sets the `Gtk::MediaFile to play the given resource.
This is a utility function that converts the given @resource_path
to a GFile
and calls Gtk::MediaFile#file=
.