I am using Splicer from here with c#
using (WindowsMediaRenderer renderer = new WindowsMediaRenderer(timeline, "output.wmv", WindowsMediaProfiles.HighQualityVideo))
{
renderer.Render();
// How to Stop this render
}
}
I found way to use progressParticipant
PercentageProgressParticipant progressParticipant = new PercentageProgressParticipant(timeline);
progressParticipant.ProgressChanged += new EventHandler<Splicer.Renderer.ProgressChangedEventArgs>(progressParticipant_ProgressChanged);
and changed renderer contractor to
using (WindowsMediaRenderer renderer =new WindowsMediaRenderer(timeline, "output.wmv", WindowsMediaProfiles.HighQualityVideo, new ICallbackParticipant[] { progressParticipant },null))
{
renderer.Render();
}
ProgressChanged
Method
public void progressParticipant_ProgressChanged(object sender, Splicer.Renderer.ProgressChangedEventArgs e)
{
double D = double.Parse(e.Progress.ToString())*100.0;
int P = (int)D;
_bw.ReportProgress(P);
}
Can I use ICallbackParticipant
or any other way to stop render ?