できるだけ具体的にしようと思います。
私はFFMPEGに適した.netラッパーを見つけるためにたくさん検索しましたが、最高のものはVBFFmpegラッパーでした
私はVB.netの使用が非常に苦手で、問題はこのライブラリをC#プロジェクトで使用したいのですが、見つけたサンプルプログラムをVB.netからC#に正しく変換できなかったことです。
それで、C#アプリケーションを編集したので、入力ビデオファイルのパスを一時的な.txtファイルに書き込みます。次に「コンバーター」(VBで記述されています)を実行します。
私の「コンバーター」のコード:
Imports System
Imports System.IO
Public Class Form1
Public WithEvents MediaConverter As New FFLib.Encoder
Private Sub ConOut(ByVal prog As String, ByVal tl As String) Handles MediaConverter.Progress
OperationPrgrss.Value = prog
Application.DoEvents()
End Sub
Private Sub stat(ByVal status) Handles MediaConverter.Status
StatusLbl.Text = status
Application.DoEvents()
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
Using PathFinder As New StreamReader("_temp.txt")
Dim SrcPath As String
SrcPath = PathFinder.ReadLine()
PathTxtBox.Text = SrcPath
End Using
Catch ex As Exception
MessageBox.Show("The file couldn't be read : " & Environment.NewLine & ex.Message)
End Try
End Sub
Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
MediaGenerator.RunWorkerAsync()
End Sub
Private Sub MediaGenerator_DoWork(sender As Object, e As ComponentModel.DoWorkEventArgs) Handles MediaGenerator.DoWork
MediaConverter.OverWrite = False
MediaConverter.SourceFile = PathTxtBox.Text
MediaConverter.Format = MediaConverter.Format_MP3
MediaConverter.AudioCodec = MediaConverter.AudioCodec_mp3
MediaConverter.Video_Codec = MediaConverter.Vcodec_NONE
MediaConverter.Threads = 0
MediaConverter.OverWrite = True
Dim OutputFldr As String = AppDomain.CurrentDomain.BaseDirectory & "MP3Files\\"
MediaConverter.OutputPath = OutputFldr
MediaConverter.AnalyzeFile()
MediaConverter.Encode()
End Sub
End Class
私がやろうとしているのはビデオファイルを変換することです[時にはそれはWEBM、FLV、MP4または3GPです]、そして上記のコードはそれをうまく行います、しかし問題は使用するときです:
MediaConverter.Video_Codec = MediaConverter.Vcodec_NONE
プログレスバーが機能せず、値は0のままです。&ビデオコーデックを使用すると、[プログレスバー]は完全に機能しますが、作成されたMP3ファイルは、どのメディアプレーヤーでも、スマートフォンやテレビでも機能しません。
..。
だから問題は何ですか ?!どうすればそれを解決できますか?ラッパーライブラリソースのいくつかの関数を変更するために多くのことを試みましたが、前に述べたように...私はただの初心者です@ VB.net:\