如何将wmv文件分割成字节,用c#语言实现
本文关键字:语言 实现 字节 wmv 文件 分割 | 更新日期: 2023-09-27 18:02:45
我有一个大小为300字节的wmv文件。我想把它分成几个字节(例如:(每个150字节)或(3 100字节))。我如何在c#语言中实现这个?
这实际上取决于您是否希望文件工作。将它们分成块很容易:将它们读入字节数组,使用for循环将部分数组复制到CHUNK大小的文件中,而不会忘记复制文件的最后字节。
我会尝试在没有显式拆分的情况下流式传输它(tcp堆栈将按照它喜欢的方式拆分它^^)。如果你有一个好的编解码器,它会播放它。(Vlc可以在下载的同时播放视频)
真正的答案是,只需使用流服务器,忘记编写流协议。这是疯狂的。要将文件分割成字节段,可以使用下面的代码。这不是未经测试,但应该是95%完成。
如果你还没有看过原型说明,你应该看看。http://msdn.microsoft.com/en-us/library/cc251059(v=PROT.10).aspx如果你有,你问这个问题,你根本没有机会让它工作,
int chunkSize = 300;
var file = File.Open("c:'file.wmv", FileMode.Open);
var numberOfChunks = (file.Length/chunkSize)+1;
byte[][] fileBytes = new byte[numberOfChunks][];
for (int i = 0; i < numberOfChunks; i++)
{
int bytesToRead = chunkSize;
if (i == numberOfChunks + 1)
{
bytesToRead = (int)(file.Length - (i * chunkSize));
}
fileBytes[i] = new byte[bytesToRead];
file.Read(fileBytes[i], i * chunkSize, bytesToRead);
}