Der BGW:
Public Sub StartBGW1()
With bgw1
.WorkerReportsProgress = True
.WorkerSupportsCancellation = True
.RunWorkerAsync()
End With
End Sub
#Region "Backgroundworker 1 Events"
Private Sub bgw1_DoWork(ByVal sender As Object, ByVal e As _
System.ComponentModel.DoWorkEventArgs) Handles bgw1.DoWork
Dim TransDatei As String = ""
Dim Encoding As New Encoder
Dim Decoding As New Decoder
Dim Coding As New Coding
Dim FileWork As New FileWork
Dim RandomFileName As String
Dim DelFile As New List(Of String)
Dim ExitLoop As Boolean = False
Do While Not ExitLoop
Dim Parameter As New Parameter
SyncLock QQueue
RandomFileName = Coding.RandomString(10) & "1.wav"
Dim Quelldatei As String = ""
Quelldatei = QQueue.Dequeue
'Dekompression
Select Case Path.GetExtension(Quelldatei)
Case ".mp3"
TransDatei = Decoding.mpeg(Parameter.madplayPar, _
Quelldatei, RandomFileName, Parameter.Winstatus)
Case ".mp4"
TransDatei = Decoding.neroaac(Quelldatei, _
RandomFileName, Parameter.Winstatus)
Case ".wav"
'TransDatei = RandomFileName
Case ".flac"
TransDatei = Decoding.flac(Quelldatei, RandomFileName, _
Parameter.Winstatus)
End Select
DelFile.Add(TransDatei)
If TransDatei = "FehlerDecoder" Then
MessageBox.Show(TransDatei)
End If
'Normalisierung
TransDatei = Decoding.ssrc(Parameter.ssrcPar, TransDatei, _
Parameter.Winstatus)
DelFile.Add(TransDatei)
If TransDatei = "Fehlerssrc" Then
MessageBox.Show(TransDatei)
End If
Dim Zieldatei As String = ""
Zieldatei = FileWork.CreateZielPfad(Quelldatei, Quellpfad, _
Zielpfad, ZielExtension)
'Kompression
Select Case ZielExtension
Case ".mp3"
TransDatei = Encoding.Lame(Parameter.Compression( _
ZielExtension), TransDatei, Zieldatei, _
Parameter.Winstatus)
Case ".mp4"
TransDatei = Encoding.NeroMP4(Parameter.Compression( _
ZielExtension), TransDatei, Zieldatei, _
Parameter.Winstatus)
Case ".flac"
TransDatei = Encoding.Flac(Parameter.Compression( _
ZielExtension), TransDatei, Zieldatei, _
Parameter.Winstatus)
End Select
If TransDatei = "FehlerEncoder" Then
MessageBox.Show(TransDatei)
End If
File.Delete(DelFile(0).ToString)
File.Delete(DelFile(1).ToString)
DelFile.Clear()
bgw1.ReportProgress(1, TransDatei)
If QQueue.Count = 0 Then
ExitLoop = True
End If
If bgw1.CancellationPending = True Then
e.Cancel = True
ExitLoop = True
Exit Sub
End If
End SyncLock
Loop
End Sub Kannst du mir da nen Denkanstoß geben? Was hab ich falsch gemacht?
Schon mal Danke  |