0
我有從網絡攝像頭獲取照片的代碼。我需要寫一個預計完成這個過程的機制。我該怎麼做呢?我有以下代碼:如何等待完成異步功能c#winrt
ImageEncodingProperties imageProperties = ImageEncodingProperties.CreateJpeg();
var memStream3 = new Windows.Storage.Streams.InMemoryRandomAccessStream();
var mediaCaptureMgr1 = new MediaCapture();
await mediaCaptureMgr1.InitializeAsync();
mediaCaptureMgr1.SetPreviewMirroring(true);
await mediaCaptureMgr1.CapturePhotoToStreamAsync(imageProperties, memStream3);
await memStream3.FlushAsync();
memStream3.Seek(0);
WriteableBitmap wb1 = new WriteableBitmap(320, 240);
wb1.SetSource(memStream3);
//1
while (true)
{
await Task.Delay(TimeSpan.FromSeconds(0.1));
//if CapturePhotoToStreamAsync finished? OR memStream3 not null?
//break;
}
//2
如果我開始在// 1處做WB1什麼,我也不會因爲WB1 = NULL工作。如果我在// 2開始做wb1! = null,因爲我一直等到所有的異步函數完成。
你想替換'while'循環嗎? – 2013-04-04 08:28:34
我不明白你爲什麼在那裏有'while'循環。我也不明白你在問什麼。請在此處更具體地說明...... – MoonKnight 2013-04-04 08:30:43
當您等待'CapturePhotoToStreamAsync'方法時,該方法已在後面的代碼行中完成。這是使用await的關鍵。 – JustAnotherUserYouMayKnow 2013-04-04 08:33:12