如何创建一个同步捕获视频一段固定时间并返回视频文件的功能?我有以下代码。问题是有时while循环永远不会中断,因为行 done_taking_video = true 永远不会被执行。它很奇怪。
public StorageFile TakeVideoToFile(int duration_in_ms)
{
StorageFile file = foldertosave.CreateFileAsync(filename).AsTask().Result;
MediaCapture media = new MediaCapture();
media.InitializeAsync().AsTask().Wait();
media.StartRecordToStorageFileAsync(videoFormat, file).AsTask().Wait();
System.Threading.Timer timer = new System.Threading.Timer(_ => {
media.StopRecordAsync().AsTask().Wait();
done_taking_video = true;
}, null, duration_in_ms, System.Threading.Timeout.Infinite);
while (!done_taking_video)
{
}
return file;
}