}
/**
- * Total length in microseconds of the playback (if known).
+ * Total length in milliseconds of the playback (if known).
*/
public long Length
{
}
/**
- * Playback position in microseconds from the start (if applicable).
+ * Playback position in milliseconds from the start (if applicable).
* Setting this value might not work depending on the underlying
* media capability and file format.
*
/**
* Playback position as a fraction of the total (if applicable).
+ * At start, this is 0; at the end, this is 1.
* Setting this value might not work depending on the underlying
* media capability and file format.
*
Console.WriteLine (" preparsed: {0}", m.IsPreparsed);
}
+ private static void DumpPlayer (Player p)
+ {
+ if (!p.IsPlaying)
+ return;
+
+ int percent = (int)(p.Position * 100);
+ Console.Write ("{0} of {1} ms ({2}%)\r", p.Time, p.Length,
+ percent);
+ }
+
+ private static void Sleep (int msec)
+ {
+ System.Threading.Thread.Sleep (msec);
+ }
+
public static int Main (string[] args)
{
string[] argv = new string[]{
Console.WriteLine (" (compiled with {0})", VLC.Compiler);
VLC vlc = new VLC (argv);
- Media m = new Media (vlc, "/dev/null");
- DumpMedia (m);
+ foreach (string mrl in args)
+ {
+ Media media = new Media (vlc, mrl);
+ Player player = new Player (media);
+
+ DumpMedia (media);
+ DumpMedia ((Media)media.Clone ());
- DumpMedia ((Media)m.Clone ());
+ player.Play ();
+ do
+ {
+ DumpPlayer (player);
+ Sleep (500);
+ }
+ while (player.IsPlaying);
+ player.Stop ();
+ media.Dispose ();
+ player.Dispose ();
+ }
vlc.Dispose ();
- m.Dispose ();
return 0;
}
};