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(Button1) klicke soll
er den Button ausblenden solange bis die Progressbar auf 100% ist. Zusätzlich soll er ein Label(Label2) 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
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(Button1) klicke soll
er den Button ausblenden solange bis die Progressbar auf 100% ist. Zusätzlich soll er ein Label(Label2) 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
VB.NET-Quellcode
- 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