检测部分上传(WAV文件)

时间:2018-05-28 11:37:32

标签: c# wav file-transfer shared-directory

有没有办法检测文件是否仅部分上传到C#中?具体来说,我正在谈论一个WAV文件,上传到网络路径(如共享驱动器),由于网络问题或其他原因已经停止。

我正在通过插入中间传输的网络电缆来模拟这一点。但我发现文件是在另一侧创建的,但文件大小是完整的文件大小,甚至记录的长度(使用下面的方法获得)也是全长。但是当我播放文件时,声音只是在文件的中间切断,剩下的只是继续播放(可能是我插上网线的地方)。

以下是我获取录音长度的方法。

StringBuilder bufferLengthStr = new StringBuilder(32);

mciSendString(string.Format("open \"{0}\" type waveaudio alias wave", fileName), null, 0, IntPtr.Zero);
mciSendString("status wave length", bufferLengthStr, bufferLengthStr.Capacity, IntPtr.Zero);
mciSendString("close wave", null, 0, IntPtr.Zero);

int recordingLength = 0;
int.TryParse(bufferLengthStr.ToString(), out recordingLength);

现在问题是,我知道该文件应该有多长,但上面的方法会返回全长,即使整个长度还没有充满声音。

0 个答案:

没有答案