-1
ビデオを画像に変換してからgifに変換する新しいアプリケーションを開始しました 私のビデオを同じ側プロジェクトの同じフォルダに自分のビデオを置かないと、ffmpegにはそのようなファイルやディレクトリは表示されません。私はopenfiledialogで私のファイルを選択するためにクリックしました。どうすれば私のビデオを正しいディレクトリにコピーできますか?ファイルを別の場所に移動します。ディレクトリが見つかりませんが、ディレクトリは存在します。私はここで、これはコード開いているダイアログから開いたファイルをvb.netの別の場所にコピーする方法
これは私のコード
Imports System.Diagnostics
Imports System.ComponentModel
Imports System
Imports System.IO
Imports System.IO.Compression
Imports System.Windows.Forms
Imports System.Net
Public Class Form1
Dim fpsx = 10
Dim video = ""
Dim startInfo As New ProcessStartInfo("ffmpeg.exe")
Dim frame As Long 'individual frames
Dim tempdir As String = "C:\avitogifconverter\" ' images temp directory
Dim DestPath As String = "C:\avitogifconverter\"
Public Declare Auto Function FindWindowNullClassName Lib "user32.dll" Alias "FindWindow" (ByVal lpClassname As Integer, ByVal lpWindownName As String) As Integer
Dim Counter As Integer = 0
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
My.Computer.FileSystem.CreateDirectory(tempdir)
TextBox1.Text = "exp:-->video.avi or webm or flv"
TextBox1.Clear()
TextBox2.Text = fpsx
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
fpsx = TextBox2.Text
TextBox2.Text = fpsx
Dim p As Process = Process.Start("cmd", "/k ffmpeg.exe -i " + TextBox1.Text + " -framerate 5/1 -filter:v fps=" + TextBox2.Text + " C:\avitogifconverter\out%02d.jpg")
p.WaitForExit()
If p.HasExited Then
MsgBox("The Extraction Are Finish...")
End If
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs)
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If (OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK) Then
'TextBox1.Text = OpenFileDialog1.FileName
'TextBox1.Text = System.IO.Path.GetFileName(OpenFileDialog1.FileName)
TextBox1.Text = System.IO.Path.GetDirectoryName(OpenFileDialog1.FileName)
Dim newdialog As New OpenFileDialog()
If newdialog.ShowDialog() = DialogResult.OK Then
System.IO.File.Copy(newdialog.FileName, tempdir)
MessageBox.Show(System.IO.Path.GetDirectoryName(newdialog.FileName) & "\" & System.IO.Path.GetFileName(newdialog.FileName))
End If
End If
If TextBox1.Text = Nothing Then
Return
End If
If TextBox1.Text <> Nothing Then
'My.Computer.FileSystem.CopyFile(TextBox1.Text, DestPath)
End If
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Dim args As String 'declare args
args = " -i C:\avitogifconverter\out%02d.jpg -r 10 C:\avitogifconverter\out.gif "
'args = " -i C:\avitogifconverter\out%02d.jpg -c:v libx264 -r 30 -pix_fmt yuv420p C:\avitogifconverter\out.mp4 "
Dim proc As New Process
Dim proci As New ProcessStartInfo
proci.FileName = My.Application.Info.DirectoryPath & "\ffmpeg.exe"
proci.Arguments = args
proci.WindowStyle = ProcessWindowStyle.Hidden
proci.CreateNoWindow = True
proci.UseShellExecute = False
proc.StartInfo = proci
proc.Start()
Do Until proc.HasExited = True
Me.Text = "Saving"
Loop
Me.Text = "your video done"
MsgBox("Done")
Dim directoryName As String = "C:\avitogifconverter\"
For Each deleteFile In Directory.GetFiles(directoryName, "*.jpg", SearchOption.TopDirectoryOnly)
File.Delete(deleteFile)
Next
'IO.Directory.Delete(tempdir, True)
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Form2.Show()
End Sub
End Class
という2つ目のパラメータを使用することです。[ask]を読んで[tour]してください。これはデバッグサービスではありません。なぜなら、他の誰かがあなたのためにデバッグするためのコードダンプ(空の未使用のイベントハンドラを持っている)になるからです。 VSには素晴らしいデバッガが付属しています。起動してコードをデバッグしてください。 – Plutonix