如何拆分用C#语言实现的字节的wmv文件?

时间:2011-07-18 15:25:03

标签: c# file split byte wmv

我有一个大小为300字节的wmv文件。我想将它分成几个字节(例如:(每个150字节)或(3 100字节))。我如何用C#语言实现它?

3 个答案:

答案 0 :(得分:0)

这实际上取决于您是否希望文件正常工作。将它们拆分成块很容易:将它们读入一个字节数组,有一个for循环,它将部分数组复制到一个大小为CHUNK的文件,而不会忘记复制文件的最后字节。将它们拆分为工作文件是不同的。

答案 1 :(得分:0)

我会尝试在没有显式拆分的情况下对其进行流式处理(tcp堆栈会根据需要拆分它^^)。如果你有一个很好的编解码器,无论如何它都会播放它。 (Vlc可以在下载时始终播放视频)

答案 2 :(得分:0)

真正的答案是,只使用流媒体服务器而忘记编写流媒体协议。太疯狂了。要将文件拆分为字节段,您可以使用类似下面的代码。不是那些未经测试的,但应该完成约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);
        }