forked from LeenkxTeam/LNXSDK
Update Files
This commit is contained in:
60
Kha/Backends/WPF/kha/wpf/Video.hx
Normal file
60
Kha/Backends/WPF/kha/wpf/Video.hx
Normal file
@ -0,0 +1,60 @@
|
||||
package kha.wpf;
|
||||
|
||||
import system.io.Path;
|
||||
import system.Uri;
|
||||
import system.UriKind;
|
||||
import system.windows.media.MediaPlayer;
|
||||
|
||||
class Video extends kha.Video {
|
||||
var player: MediaPlayer;
|
||||
|
||||
public function new(filename: String): Void {
|
||||
super();
|
||||
player = new MediaPlayer();
|
||||
player.Open(new Uri(Path.GetFullPath(filename), UriKind.Absolute));
|
||||
}
|
||||
|
||||
public function getPlayer(): MediaPlayer {
|
||||
return player;
|
||||
}
|
||||
|
||||
public override function play(loop: Bool = false): Void {
|
||||
player.Play();
|
||||
}
|
||||
|
||||
public override function pause(): Void {
|
||||
player.Pause();
|
||||
}
|
||||
|
||||
public override function stop(): Void {
|
||||
player.Stop();
|
||||
}
|
||||
|
||||
@:functionCode('
|
||||
if (player.NaturalDuration.HasTimeSpan)
|
||||
return Math.round(player.NaturalDuration.TimeSpan.TotalMilliseconds);
|
||||
else return int.MaxValue;
|
||||
')
|
||||
public override function getLength(): Int {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@:functionCode('
|
||||
return Math.round(player.Position.TotalMilliseconds);
|
||||
')
|
||||
public override function getCurrentPos(): Int {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public override function getVolume(): Float {
|
||||
return player.Volume;
|
||||
}
|
||||
|
||||
public override function setVolume(volume: Float): Void {
|
||||
player.Volume = volume;
|
||||
}
|
||||
|
||||
public override function unload(): Void {
|
||||
player = null;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user