先附上效果图:
处理逻辑:先创建mp4的流文件, 再遍历获取文件夹下的所有ts文件,将ts的文件流追加到mp4的文件流即可
private void btnRun_Click(object sender, EventArgs e)
{
string filePath = this.txtFilePath.Text.ToString();
string outName = this.txtOutName.Text.ToString();
string outPath = Path.Combine(this.txtOutPath.Text.ToString(),outName);
using (FileStream reader = new FileStream(outPath, FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
var files = Directory.GetFiles(filePath, "*.ts");
List<string> fileList=new List<string>(files);
fileList.Sort(
(x,y)=>{
int indexX =Convert.ToInt32(x.Remove(x.IndexOf(".ts")).Substring(x.LastIndexOf(@"\")+1));
int indexY = Convert.ToInt32(y.Remove(y.IndexOf(".ts")).Substring(y.LastIndexOf(@"\") + 1));
if (indexX > indexY)
return 1;
else if (indexX < indexY)
return -1;
else
return 0;
});
foreach (var item in fileList)
{
using (FileStream readStream=new FileStream(item,FileMode.Open,FileAccess.Read))
{
readStream.CopyTo(reader);
}
}
}
}