0

我正在使用 WMWriterAdvanced 和 WriteStreamSample 函数将视频数据写入 ASF 文件,如果在写入样本期间出现电源故障,则会导致我丢失了大约最后 20 秒已经写入该文件的内容。用 ASFView 检查文件后,我注意到最后 500 个数据包只填充了零字节。我知道在电源故障期间可能会丢失一些数据,但似乎 20 秒的视频太多了。

为什么已经写入的样本已损坏,是否可以减少其数量?

4

1 回答 1

0

可能的原因是文件仍然打开并被写入,内部文件缓冲区尚未刷新到磁盘,电源故障导致该数据以及部分结构/索引数据的数据丢失。损坏的文件结构可能是无法查看文件中存在的某些数据但未正确链接到其余内容的原因 - 因此意外丢失了太多秒的数据。

由 NTFS 文件系统支持的文件通常会在电源故障阻止数据到达持久媒体的片段上具有零。

于 2014-04-24T16:59:40.307 回答