In VLC Player Play und Stop ansteuern
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 53 Antworten in diesem Thema. Der letzte Beitrag () ist von OneWorld.
-
-
-
ja mir ist grad nichts anderes eingefallen . Ich habs auch noch nie gemacht. Da ich die Befehle via PHP an mein "Server PC" sende habe ich es auch nicht mehr nachgeschaut Wie würdest du das machen ?
Danke für den HinweisYoutube Info Library 2013 jetzt im Showroom. -
Mit Webbrowser kommt die meldung:
Eine nicht behandelte Ausnahme des Typs "System.ArgumentException" ist in System.Windows.Forms.dll aufgetreten.
Zusätzliche Informationen: Der Wert liegt außerhalb des erwarteten Bereichs.
Weil z.Z. sieht das so aus: youtu.be/BT-FKeiV5_g (Zeitlupe 1/10 geschwindigkeit
Die Sekunden werden aus der XML gelesen und immer wenn die Sekunden sich eins erhöhen wird die Stopwatch neu gestartet.
VB.NET-Quellcode
- Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
- XMLstatus.Load("http://" & IPvlc & ":" & PORTvlc & "/requests/status.xml") 'Der Status von VLC wird ausgelesen
- XMLtime = XMLstatus.SelectSingleNode("root/time").InnerText
- Seconds = XMLtime
- If Seconds <> SecondsOne Then 'Seconds wird mit dem zuvor gemessenen Seconds wert verglichen
- watch.Restart() 'Timer wird neu gestartet
- SecondsOne = Seconds 'SecondsOne wird wieder mit Seconds gleichgesetzt
- End If
- Milliseconds = watch.ElapsedMilliseconds 'stopwatch wird ausgelesen
- If Milliseconds.ToString.Length > 2 Then 'Die letzten beiden Stellen der Stopwatch werden genommen
- Milliseconds = Milliseconds.ToString.Substring(Milliseconds.ToString.Length - 3, 2)
- End If
- Me.Text = "VLC2Timecode - " & Seconds & ":" & Milliseconds 'aktuelle Zeit wird im Fenster angezeigt
- client_send(Seconds & "," & Milliseconds) 'aktuelle Zeit wird gesendet
- End Sub
Dankeee -
Erstmal
Option Strict On
!!!
Dann sollte das Grundgerüst ungefähr so aussehen:
Die Stopwatch brauchst du ja eigentlich gar nicht, wenn du dir schon die Zeit holst, oder?
Vielleicht hilft dir das ja weiter :). -
Sieht ja ganz schön aus, aber ich brauch die Zeit im Format:
Seconds,Milliseconds
Aber VLC gibt leider nur die Sekunden aus.
Nichtmal so krieg ich die ms (hätt ja sein können)
Und die Millisekunden sind wichtig, da das Programm am Ende das Herzstück einer Multimediashow bei unserer Abiverabschiedung wird. Das gibt die Zeit von der Musik an die Licht und Videosoftware weiter.
Danke -
@LJ Jojo Alos bei mir funktioniert das. Hast du VLC auch gestartet ?, denn sonst kann der Befehl ja nicht empfangen werdenYoutube Info Library 2013 jetzt im Showroom.
-
@OneWorld
Er will die Millisekunden selber bestimmen, da diese VLC nicht übermittelt ;).
@LJ Jojo
Ich habs mal so gemacht, vielleicht bringt dir das ja was:VB.NET-Quellcode
- Private WithEvents bgwTimeMeasurement As New System.ComponentModel.BackgroundWorker With {.WorkerSupportsCancellation = True}
- Dim StartTime As Date = Now
- Private Sub bgwTimeMeasurement_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles bgwTimeMeasurement.DoWork
- Dim Time As TimeSpan
- Do Until bgwTimeMeasurement.CancellationPending = True 'Bis der BackGroundWorker gestoppt wird die Schleife laufen lassen
- Time = StartTime - Now 'Dem TimeSpan die Differenz aus der Startzeit und der aktuellen Zeit zuweisen
- Me.Invoke(Sub() Me.Text = FormatTimeSpan(Time)) 'Dem Text der Form die formatierte Zeit zuweisen
- Loop
- End Sub
- Public Function FormatTimeSpan(input As TimeSpan) As String
- Dim text As String = input.ToString("G") 'Format: #:##:##:##,#######
- text = text.Substring(0, Math.Min(text.Length, text.LastIndexOf(":"c) + 4 + 3)) 'Neues Format: #:##:##:##,###
- text = text.Substring(text.LastIndexOf(":"c) + 1) 'Neues Format: ##,###
- 'text = text.Substring(text.LastIndexOf(":"c) - 2) 'Neues Format: ##:##,### Alternative zu der vorhergehenden Zeile, falls Minuten erwünscht sind ;)
- Return text
- End Function
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 'Der Start-Button
- If Not bgwTimeMeasurement.IsBusy Then bgwTimeMeasurement.RunWorkerAsync()
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 'Der Stopp-Button
- bgwTimeMeasurement.CancelAsync()
- End Sub
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „nafets3646“ ()
-
LJ Jojo schrieb:
Mit Webbrowser kommt die meldung:
Zitat
Eine nicht behandelte Ausnahme des Typs "System.ArgumentException" ist in System.Windows.Forms.dll aufgetreten.
Zusätzliche Informationen: Der Wert liegt außerhalb des erwarteten Bereichs.
Ich rede davonYoutube Info Library 2013 jetzt im Showroom. -
-
Komisch also bei mir funktioniert es ohne Probleme. Welchen Befehl versuchst du denn zu senden ?Youtube Info Library 2013 jetzt im Showroom.
-
Ich kenne mich mit Netzwerkprogrammierung kein bisschen aus, aber es ist halt ne Tatsache, dass man Controls nicht für solche Zwecke "missbraucht". Mach vielleicht dafür nochmal nen Thread auf.
Ansonsten habe ich oben noch nen Code gepostet, vielleicht hilft dir der ja was :P. -
Warum denn noch einen Thread aufmachen. Der Titel sagt ja, In VLC Player Play und Stop ansteuern. Ich denke man kann das auch hier dann klären. Ich werde es mal anders versuchen ohne Webbrowser ;). Ich sage dann hier bescheid...Youtube Info Library 2013 jetzt im Showroom.
-
VB.NET-Quellcode
- Private Sub BtnPlay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPlay.Click
- Dim wc As New WebBrowser
- If playself = False Then
- wc.Navigate("http://" & IPvlc & ":" & PORTvlc.ToString & "8080/requests/status.xml?command=pl_pause") 'startet VLC
- Milliseconds = Milliseconds + Delay 'Delay wird zu den Millisekunden hinzuaddiert
- ElseIf playself = True Then
- 'PLAY
- My.Computer.Audio.Play(MusikDatei, AudioPlayMode.Background)
- End If
- Timer.Start()
- BtnStop.Enabled = True
- BtnPlay.Enabled = False
- End Sub
IPvlc = 127.0.0.1
PORTvlc = 8080
Das ganze Zeug mit "playself" einfach ignorieren das programm soll in späteren Versionen die Musik auch selbst abspielen könne. Aber hauptsächlich isses für VLC gedacht.
Hat ja aber alles was mit VLC Fernsteuern zu tun. Im Prinzip is ja nur Play/Pause/Stop und die Zeit in Millisekunden abfragen. -
-
OneWorld schrieb:
Welchen Befehl versuchst du denn zu senden ?LJ Jojo schrieb:
-
@nafets3646 Ich sage doch nichts gegen deinen Code. Ich versuche ihm nur bei seinem Problem mit der Fehlermeldung zu helfen. Das mit der Zeit ist schon richtig so wie ihr das vorhabt.
Hier versuchs mal so. Dieses mal mit einem Webclient. Ist besser als mit einem Webbrowser
Youtube Info Library 2013 jetzt im Showroom. -
LJ Jojo schrieb:
Leider funktioniert das bei mir nicht:
Zitat von »OneWorld«
Visual Basic Quellcode
Ich hab System.Net importiert, aber an der Stelle kommt immer folgende meldung:
Zitat
Eine nicht behandelte Ausnahme des Typs "System.ArgumentException" ist in mscorlib.dll aufgetreten.
Zusätzliche Informationen: URI-Formate werden nicht unterstützt.
Außerdem gibt es das .Navigate nicht, deshalb hab ich .OpenRead genommen. Der Fehler kommt also beim .OpenRead -
Mhm Was machst du denn bei mir geht das mit dem steuern ohne Probleme...
das mit dem wc.Navigate war schwachsinn, da habe ich mich verschrieben
GrußYoutube Info Library 2013 jetzt im Showroom. -
OneWorld schrieb:
das mit dem wc.Navigate war schwachsinn, da habe ich mich verschrieben
brauch ich dieses "Option Strict On" oben unbedingt? Jetzt kommen von viele Fehler von "kann nicht konvertiert werden"
Eigentlich sieht das bei mir genauso aus, aber ich kopier das gleich in ein neues Programm und schau obs dann geht.
Danke
Edit: Ok, die ganzen fehler durch das strict on sind jetzt weg, hab alles richtig konvertieren lassen
Edit2: Wenn ich nur deinen Code nehm gehts auch bei mir.Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „LJ Jojo“ ()
-
Benutzer online 1
1 Besucher
-
Ähnliche Themen