我正在用c#同时写入多个文件。 我正在合成多张照片的视频,并将它们异步保存在同一文件夹中的文件中。 可能同时发生2-3次节省。 有时经过几次保存后,程序崩溃了,我得到了:
程序'...'已退出,代码为-1073741819(0xc0000005) “访问冲突”。
if (images % framesPerIO == 0 )
{
MediaComposition clone = composition.Clone();
int videoNumber = images / framesPerIO;
Debug.WriteLine("Reseting clip from" +videoNumber.ToString());
composition = new MediaComposition();
CreateVideo(videoNumber, clone);
}
private async Task CreateVideo(int videoNumber, MediaComposition clone)
{
Debug.WriteLine("Creating xml"+videoNumber.ToString());
StorageFile video = await storageFolder.CreateFileAsync("video" + videoNumber.ToString() + ".xml", CreationCollisionOption.ReplaceExisting);
Debug.WriteLine("xml Created" + videoNumber.ToString());
DateTime now = DateTime.Now;
Debug.WriteLine("SavingAsync XML " + video.DisplayName);
await clips.SaveAsync(video);
Debug.WriteLine("SavedAsync "+video.DisplayName + (DateTime.Now - now).ToString());
}
现在,我有两个问题: