我有一个sub可以得到视频文件的持续时间。
Async Sub GetDuration(folder As String)
Dim ffP As New FFProbe
Dim vInfo As MediaInfo
Dim totalSecs As Double = Await Task.Run(Function()
vInfo = ffP.GetMediaInfo(filep)
If vInfo.Duration.TotalSeconds < 10
Thread.Sleep(20000)
End If
Return vInfo.Duration.TotalSeconds
End Function)
当我在一个短视频(不到10秒)上运行这个程序时,它会像预期的那样让应用程序休眠20秒。但是,在浏览器的另一个选项卡上,我在一个长视频(大于10秒)上运行它,而第一个线程仍在睡眠中……但它也在睡眠,直到20秒过期/通过。所以两个标签都在睡觉,这表明它们实际上是同一个线程当使用async/await对时,vb.net不应该创建单独的线程吗?
其主要思想是让它们分别运行,这样多个用户就可以独立地获得持续时间。