"William Johnston" <wi******@tenba se2.comwrote:
>
Still getting black thumbnails after setting BeginTime for MediaTimeLine object.
Here is my modifed thumbnail creator code:
private void CreateThumbnail (string file, string outputDir)
{
try
{
MediaPlayer mp = new MediaPlayer();
MediaTimeline mt = new MediaTimeline(n ew Uri(file));
mt.BeginTime = new TimeSpan(00, 00, 02);
MediaClock mc = mt.CreateClock( );
string beginTime = null;
if (debug)
{
beginTime = mc.Timeline.Beg inTime.ToString ();
System.Console. WriteLine("begi nTime: [" + beginTime + "]");
}
mp.Clock = mt.CreateClock( );
if (debug)
{
beginTime = mp.Clock.Timeli ne.BeginTime.To String();
System.Console. WriteLine("begi nTime: [" + beginTime + "]");
}
RenderTargetBit map rtb = new RenderTargetBit map(130, 92, 1 / 200, 1 / 200, PixelFormats.Pb gra32);
DrawingVisual dv = new DrawingVisual() ;
DrawingContext dc = dv.RenderOpen() ;
RectAnimation ra = new RectAnimation() ;
dc.DrawVideo(mp , new Rect(0, 0, 130, 92));
dc.Close();
rtb.Render(dv);
string filename = GetFileName(fil e);
//create the output filename
object[] formatParams = new object[2];
formatParams[0] = outputDir;
formatParams[1] = filename;
string outputFileName = null;
outputFileName = string.Format(" {0}\\tn_{1}.bmp ", formatParams);
BmpBitmapEncode r encoder = new BmpBitmapEncode r();
encoder.Frames. Add(BitmapFrame .Create(rtb));
using (FileStream writer = new FileStream(outp utFileName, FileMode.Create ))
{
System.Console. WriteLine("Savi ng [{0}]", outputFileName) ;
encoder.Save(wr iter);
}
}
catch (Exception e)
{
System.Console. WriteLine("Crea teThumbnail: " + e.Message);
System.Environm ent.Exit(1);
}
}
Thanks,
William Johnston