c#实现flv解析详解示例
温馨提示:这篇文章已超过576天没有更新,请注意相关的内容是否还可用!
下面是一个使用C#实现FLV解析的示例代码:csharpusing System;using System.IO;public class FLVParser{private static readonly int FLV_HEADER_SIZE = 9;private static readonly int TAG_HEADER_SIZE = 11;private FileStream fileStream;public FLVParser(string filePath){fileS
下面是一个使用C#实现FLV解析的示例代码:csharp
using System;
using System.IO;
public class FLVParser
{
private static readonly int FLV_HEADER_SIZE = 9;
private static readonly int TAG_HEADER_SIZE = 11;
private FileStream fileStream;
public FLVParser(string filePath)
{
fileStream = new FileStream(filePath, FileMode.Open);
}
public void ParseFLV()
{
// 解析FLV头部
byte[] flvHeader = new byte[FLV_HEADER_SIZE];
fileStream.Read(flvHeader, 0, FLV_HEADER_SIZE);
Console.WriteLine("FLV Version: " + flvHeader[3]);
Console.WriteLine("Audio Flag: " + ((flvHeader[4] & 0x04) > 0));
Console.WriteLine("Video Flag: " + ((flvHeader[4] & 0x01) > 0));
// 解析FLV标签
while (fileStream.Position {
byte[] tagHeader = new byte[TAG_HEADER_SIZE];
fileStream.Read(tagHeader, 0, TAG_HEADER_SIZE);
int dataSize = ((tagHeader[1]
