如何在C#中获得适用于“ MediaToolKit”的进度条?

时间:2019-02-16 11:10:01

标签: c#

无论如何,我可以使用MediaToolKit生成进度条吗? 我已经看到了官方的git-hub页面,但是不幸的是我找不到任何资源。

我试图使计时器在1秒内更新,但我不知道如何请求剩余时间并计算完成的百分比。

这是我的代码:(使用MediaToolKit和VideoLibrary)

    public Form1()
    {
        InitializeComponent();
    }

    private void Convert_Click(object sender, EventArgs e)
    {
        var source = @path;
        var youtube = YouTube.Default;
        var vid = youtube.GetVideo(YT_LINK.Text);
        File.WriteAllBytes(source + vid.FullName, vid.GetBytes());

        var inputFile = new MediaFile { Filename = source + vid.FullName };
        var outputFile = new MediaFile { Filename = $"{source + vid.FullName}.mp3" };



        using (var engine = new Engine())
        {
            engine.GetMetadata(inputFile);

            engine.Convert(inputFile, outputFile);
        }
    }

1 个答案:

答案 0 :(得分:0)

您可以使用MediaToolkit的引擎事件,如下面的代码所示:

 using (var engine = new Engine(Constants.targetFfmpegPath))
 {
    engine.ConvertProgressEvent += onProgress;
    engine.ConversionCompleteEvent += onComplete;
    engine.CustomCommand(string.Format(command, input, resolution, crf, output));

 }