Hi Leute
ich habe mich mal ran gemacht einen YouTube Downloader zubauen funktioniert auch alles super
Aber ich habe ein Problem oder zwei also wenn ich auf den Button zum Downloaden klicke soll
er den Button ausblendet solange bis die Progressbar auf 100% ist. Zusätzlich soll er ein Label erscheinen lassen das bei Klick von Button erscheint das geht auch schon aber wieder rum bei 100 % wieder verschwindet. Und wenn ich schon dabei bin vlt kann mir auch einer mit einer Proxy Einstellung helfen. Ich hoffe ihr könnt mir helfen vielen Dank im Voraus.
Hier ein teil des Codes solltet ihr alles brauchen sagt bescheid
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles Button1.Click
Button1.Enabled = False
Label2.Visible = True
ProgressBar1.Text = CInt(ProgressBar1.Value / ProgressBar1.Maximum * _
100).ToString
request = DirectCast(HttpWebRequest.Create(TextBox1.Text), _
HttpWebRequest)
response = DirectCast(request.GetResponse, HttpWebResponse)
source = New StreamReader(response.GetResponseStream, _
System.Text.Encoding.Default).ReadToEnd
If source.IndexOf("video_id") > -1 Then
Dim signature As String = source
signature = System.Text.RegularExpressions.Regex.Split(signature, ( _
ChrW(34) + "fmt_url_map" + ChrW(34) + ": " + ChrW(34)))(1)
signature = signature.Remove(0, 5)
signature = signature.Replace("%252C", ",")
signature = signature.Replace("%2F", "/")
signature = signature.Replace("%3D", "=")
signature = signature.Replace("%3F", "?")
signature = signature.Replace("%3A", ":")
signature = signature.Replace("%26", "&")
Dim sig2 As String = signature
sig2 = sig2.IndexOf("http", 30)
signature = signature.Remove(sig2, signature.Length - sig2)
signature = signature.Remove(signature.IndexOf("%"), 7)
signature = signature.Replace("%", "")
If signature.Chars(signature.Length - 1) = "C" Then
signature = signature.Remove(signature.Length - 1, 1)
End If
BackgroundWorker1.RunWorkerAsync()
downloadurl = signature.ToString()
request2 = DirectCast(HttpWebRequest.Create(signature), _
HttpWebRequest)
response2 = DirectCast(request2.GetResponse, HttpWebResponse)
If response2.ContentType = "video/x-flv" Then
SaveFileDialog1.Filter = "FLV Files (.flv) |*.flv"
ElseIf response2.ContentType = "video/mp4" Then
SaveFileDialog1.Filter = "MP4 Files (.mp4) |*.mp4"
Else
MsgBox("Es ist ein Fehler aufgetreten, und die angeforderte" & _
"Datei (en) konnte nicht heruntergeladen werden." + vbCrLf + _
"Dies wird normalerweise durch Änderungen an der You-Tube" & _
"Website verursacht.", MsgBoxStyle.Critical)
Exit Sub
End If
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
BackgroundWorker1.RunWorkerAsync()
Else
MsgBox("Download abgebrochen!")
End If
Else
MsgBox("Error! Bitte überprüfen Sie die Video-URL!")
End If
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles TextBox1.TextChanged
If TextBox1.Text = "" Then
Button1.Enabled = False
Label2.Visible = False
End If
End Sub
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e _
As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
web.DownloadFileAsync(New Uri(downloadurl.ToString), _
SaveFileDialog1.FileName)
End Sub
Public Sub DownloadingFile(ByVal sender As Object, ByVal e As _
DownloadProgressChangedEventArgs) Handles web.DownloadProgressChanged
Dim deleg As New OneArgD(AddressOf SetValue)
ProgressBar1.Invoke(deleg, e.ProgressPercentage)
If e.ProgressPercentage = 100 Then
MsgBox("Download ist beendet.")
Button1.Enabled = True
Label2.Visible = False
End If
End Sub |