class Gtk::MediaFile

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.cr

Constructors

Class Method Summary

Instance Method Summary

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

Constructor methods inherited from module Gdk::Paintable

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gdk::Paintable

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type, new_empty(intrinsic_width : Int32, intrinsic_height : Int32) : Gdk::Paintable new_empty

Instance methods inherited from class Gtk::MediaStream

==(other : self) ==, duration : Int64 duration, ended : Bool ended, ended? : Bool ended?, error : GLib::Error | Nil 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?, hash(hasher) hash, 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

new
new(*, duration : Int64 | Nil = nil, ended : Bool | Nil = nil, error : GLib::Error | Nil = nil, has_audio : Bool | Nil = nil, has_video : Bool | Nil = nil, loop : Bool | Nil = nil, muted : Bool | Nil = nil, playing : Bool | Nil = nil, prepared : Bool | Nil = nil, seekable : Bool | Nil = nil, seeking : Bool | Nil = nil, timestamp : Int64 | Nil = nil, volume : Float64 | Nil = 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

Constructor methods inherited from module Gdk::Paintable

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gdk::Paintable

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type, new_empty(intrinsic_width : Int32, intrinsic_height : Int32) : Gdk::Paintable new_empty

Instance methods inherited from class GObject::Object

==(other : self) ==, 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) | Nil data, finalize finalize, freeze_notify : Nil freeze_notify, getv(names : Enumerable(String), values : Enumerable(_)) : Nil getv, hash(hasher) hash, 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) | Nil qdata, ref_count : UInt32 ref_count, run_dispose : Nil run_dispose, set_data(key : String, data : Pointer(Void) | Nil) : Nil set_data, set_property(property_name : String, value : _) : Nil set_property, steal_data(key : String) : Pointer(Void) | Nil steal_data, steal_qdata(quark : UInt32) : Pointer(Void) | Nil 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, 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

cast?(obj : GObject::Object) : self | Nil cast?, compat_control(what : UInt64, data : Pointer(Void) | Nil) : 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

def self.new : self #

Creates a new empty media file.


[View source]
def self.new(*, duration : Int64 | Nil = nil, ended : Bool | Nil = nil, error : GLib::Error | Nil = nil, file : Gio::File | Nil = nil, has_audio : Bool | Nil = nil, has_video : Bool | Nil = nil, input_stream : Gio::InputStream | Nil = nil, loop : Bool | Nil = nil, muted : Bool | Nil = nil, playing : Bool | Nil = nil, prepared : Bool | Nil = nil, seekable : Bool | Nil = nil, seeking : Bool | Nil = nil, timestamp : Int64 | Nil = nil, volume : Float64 | Nil = nil) #

[View source]
def self.new_for_file(file : Gio::File) : self #

Creates a new media file to play file.


[View source]
def self.new_for_filename(filename : String) : self #

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.


[View source]
def self.new_for_input_stream(stream : Gio::InputStream) : self #

Creates a new media file to play stream.

If you want the resulting media to be seekable, the stream should implement the GSeekable interface.


[View source]
def self.new_for_resource(resource_path : String) : self #

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.


[View source]

Class Method Detail

def self.g_type : UInt64 #

Returns the type id (GType) registered in GLib type system.


[View source]

Instance Method Detail

def ==(other : self) #
Description copied from class Reference

Returns true if this reference is the same as other. Invokes same?.


def clear : Nil #

Resets the media file to be empty.


[View source]
def file : Gio::File | Nil #

Returns the file that self is currently playing from.

When self is not playing or not playing from a file, nil is returned.


[View source]
def file=(file : Gio::File | Nil) : Nil #

Sets the Gtk::MediaFile to play the given file.

If any file is still playing, stop playing it.


[View source]
def filename=(filename : String | Nil) : Nil #

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=.


[View source]
def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)


def input_stream : Gio::InputStream | Nil #

Returns the stream that self is currently playing from.

When self is not playing or not playing from a stream, nil is returned.


[View source]
def input_stream=(stream : Gio::InputStream | Nil) : Nil #

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.


[View source]
def resource=(resource_path : String | Nil) : Nil #

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=.


[View source]