forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
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;
 | 
						|
	}
 | 
						|
}
 |