【问题标题】:Progress bar in VB 6.0 from Transcoding process in FFMPEG来自 FFMPEG 中的转码过程的 VB 6.0 中的进度条
【发布时间】:2010-01-04 02:53:48
【问题描述】:

首先请原谅我的英语是超级怪胎。对不起

我有一个大问题,我需要在 VB6.0 中完成我的应用程序以在我的高中进行测试,但我找不到解决方案,我的应用程序打开一个 FFmpeg.EXE 文件,该文件打开一个 cmd 窗口提示并开始转码过程,我需要将生成的最后一行链接到 CMD 窗口(或顶部底部)的提示中,在这一行中存在值发生了什么变化,在此转码过程中,结果是比特率,它会根据其他 var 波动。 我的应用程序形式的想法是我可以实时读取这一行来构建进度条(文件大小/比特率平均值)=处理时间。

你能帮帮我吗?谢谢你的回答......

【问题讨论】:

  • 你有源代码可以分享吗?这确实有助于我们理解您的问题。

标签: vb6 ffmpeg progress-bar transcoding


【解决方案1】:

引用 Windows 脚本宿主对象模型 并尝试这个 sn-p

Option Explicit

Private Sub Command1_Click()
    Dim oExec       As WshExec
    Dim sRow        As String

    With New WshShell
        Set oExec = .Exec("tasklist.exe")
    End With
    Do While oExec.Status = WshRunning
        sRow = oExec.StdOut.ReadLine
        If InStr(1, sRow, "vb6.exe", vbTextCompare) > 0 Then
            MsgBox sRow, vbExclamation
        End If
    Loop
End Sub

基本上尝试执行 FFmpeg.EXE 和 ReadLine 直到找到一些关键文本。

【讨论】:

    【解决方案2】:

    将输出发送到文本文件,然后读取该文本文件。 应该看起来像这样:

    ping >e:\test.txt
    

    其中 ping 是 FFmpge.EXE,e:\test.txt 是输出文本文件

    【讨论】:

      【解决方案3】:

      德克莱因

      我阅读了您的答案,这是一项非常好的工作,只是它在日志中显示了一个死亡值“文本”,并且我需要转换的波动比特率的值,它会在提示时实时变化命令窗口。我正在尝试使用 wqw 的源代码,我正在那里工作。

      谢谢你的回答..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-10-18
        • 2016-04-24
        • 2011-04-16
        • 2011-10-03
        • 1970-01-01
        • 1970-01-01
        • 2011-09-18
        相关资源
        最近更新 更多