我正在开发一款Windows Phone 8应用。我必须将视频保存到相机胶卷文件夹中。
要获取相机胶卷文件夹的文件流,我使用以下function:
[CLSCompliantAttribute(false)]
public static Task<Stream> OpenStreamForWriteAsync(
this IStorageFile windowsRuntimeFile
)
例如:
Stream videoStream = await file.OpenStreamForWriteAsync();
其中file为StorageFile。
由于要求,我想删除此await并使函数同步。
编辑:
PS:我在不同的线程上执行此函数,我希望该线程是同步的。我想在创建文件流之后写一下。
答案 0 :(得分:7)
只需访问Result
:
Stream videoStream = file.OpenStreamForWriteAsync().Result;
这将阻止任务完成执行 请注意,如果在UI线程上执行该代码,则可能导致程序死锁 有关详细信息,请参阅this blog post。