Benutzer mit den meisten Antworten
Video über einen Button abspielen!

Frage
-
Hallo,
ich benutze Visual Basic 2010 noch nicht lange und brauche dringend Hilfe!
Ich habe ein Programm programmiert und möchte, dass wenn ich auf einen Button klicke, sich der Standartplayer des Benutzers öffnet und ein Video abspielt. Das Programm möchte ich mit dem Video auf eine DVD brennen und der Pfad muss sich auf das Video auf der DVD beziehen.
Am besten wäre es, wenn das Programm nicht installiert wird, sondern nur so startet.
Ich brauche dringend Hilfe!
Antworten
-
Hallo,
Da ich mein Programm ja von der DVD starten und ich das Video ausführen möchte weiß ich den Pfad nicht, da ich nicht weiß, in welches DVD-Laufwerk meine DVD reingelegt wird.
wenn Deine Anwendung ebenfalls von CD/DVD gestartet wird, hast Du den Pfad grundsätzlich schon einmal über Application.StartupPath, wie Stefan bereits schrieb. Wenn das Video im gleichen Verzeichnis liegt, wie Deine Anwendung, kannst Du den Pfad einfach verbinden:
Process.Start(IO.Path.Combine(Application.StartupPath, "myvideo.wmv")
Außerdem wäre es gut, wenn ich über den 2ten Button den explorer öffnen könnte und Daten auf der DVD ansehen kann.
Unter der o.g. Annahme:
Process.Start.(Application.StartupPath)
Ggf. kann man durch direkte Angabe von explorer.exe und Angabe weiterer Parameter die Art der Darstellung beeinflussen.
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Als Antwort vorgeschlagen Robert BreitenhoferModerator Montag, 6. September 2010 07:33
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 7. September 2010 08:38
-
Hallo,
Natürlich kenne ich eine Autoru.inf datei!!!
warum kennst Du dann bisher nicht die Grundlagen der Programmierung mit Visual Basic?
Kann mir denn jmd. den Code hier hereinschreiben?
Aus euren Hilfen werde ich nicht schlau!
Vorgekaut und Einsatzbereit:
Imports System.IO Public Class Form1 Private Const VideoDateiName As String = "myvideo.wmv" Friend WithEvents Button1 As System.Windows.Forms.Button Friend WithEvents Button2 As System.Windows.Forms.Button Public Sub New() ' This call is required by the Windows Form Designer. InitializeComponent() ' Add any initialization after the InitializeComponent() call. Me.Button1 = New System.Windows.Forms.Button Me.Button2 = New System.Windows.Forms.Button ' 'Button1 ' Me.Button1.Location = New System.Drawing.Point(30, 30) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(111, 27) Me.Button1.TabIndex = 0 Me.Button1.Text = "Video starten" Me.Button1.UseVisualStyleBackColor = True ' 'Button2 ' Me.Button2.Location = New System.Drawing.Point(201, 30) Me.Button2.Name = "Button2" Me.Button2.Size = New System.Drawing.Size(111, 27) Me.Button2.TabIndex = 0 Me.Button2.Text = "Explorer" Me.Button2.UseVisualStyleBackColor = True Me.Controls.Add(Me.Button2) Me.Controls.Add(Me.Button1) End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim lFileName As String = Path.Combine(Application.StartupPath, VideoDateiName) If File.Exists(lFileName) Then Process.Start(lFileName) Else MsgBox(String.Format("Die Datei '{0}' konnte nicht gefunden werden.", lFileName), _ MsgBoxStyle.Critical Or MsgBoxStyle.OkOnly, _ "Videodatei nicht gefunden") End If End Sub Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click Process.Start(Application.StartupPath) End Sub End Class
Einzig musst Du noch den Namen der Videodatei anpassen (das habe ich Dir übersichtlich als Konstante VideoDateiName angelegt) und diese Videodatei neben Deine Anwendung legen. Zu Testzwecken kannst Du das Video zu Deinem Projekt hinzufügen und dieses ins Ausgabeverzeichnis kopieren lassen (Siehe Eigenschaften, nachdem Du es hinzugefügt hast).
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 7. September 2010 08:39
-
Hi,
Ich habe ein Programm programmiert und möchte, dass wenn ich auf einen Button klicke, sich der Standartplayer des Benutzers öffnet und ein Video abspielt. Das Programm möchte ich mit dem Video auf eine DVD brennen und der Pfad muss sich auf das Video auf der DVD beziehen.
Am besten wäre es, wenn das Programm nicht installiert wird, sondern nur so startet.
in dem Fall bräuchtest Du wahrscheinlich lediglich über Process.Start einen Prozess zu starten und als Pfad den zur Videodatei anzugeben.
Den Pfad kannst Du ggfs. auch relativ angeben (also ausgehend vom Anwendungsverzeichnis), alternativ kannst Du das aktuelle Anwendungsverzeichnis über Application.StartupPath auslesen und mittels Path.Combine dann mit dem relativen Pfad zur Videodatei zusammensetzen.
Solange das Zielframework bereits installiert ist, sollte die Anwendung auch so starten. Ob das von CD/DVD auch geht, kann ich dir so nicht sagen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Robert BreitenhoferModerator Montag, 6. September 2010 07:33
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 7. September 2010 08:38
Alle Antworten
-
Hi,
Ich habe ein Programm programmiert und möchte, dass wenn ich auf einen Button klicke, sich der Standartplayer des Benutzers öffnet und ein Video abspielt. Das Programm möchte ich mit dem Video auf eine DVD brennen und der Pfad muss sich auf das Video auf der DVD beziehen.
Am besten wäre es, wenn das Programm nicht installiert wird, sondern nur so startet.
in dem Fall bräuchtest Du wahrscheinlich lediglich über Process.Start einen Prozess zu starten und als Pfad den zur Videodatei anzugeben.
Den Pfad kannst Du ggfs. auch relativ angeben (also ausgehend vom Anwendungsverzeichnis), alternativ kannst Du das aktuelle Anwendungsverzeichnis über Application.StartupPath auslesen und mittels Path.Combine dann mit dem relativen Pfad zur Videodatei zusammensetzen.
Solange das Zielframework bereits installiert ist, sollte die Anwendung auch so starten. Ob das von CD/DVD auch geht, kann ich dir so nicht sagen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Robert BreitenhoferModerator Montag, 6. September 2010 07:33
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 7. September 2010 08:38
-
Hallo Mr.Expert,
Stefan hat dir ja schon das Stichwort geschrieben.
Nachfolgender Code sorgt dafür, dass nach dem Klicken der OpenFile-Dialog geöffnet wird der es dir erleichtert, das Video auszuwählen.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim PlayVideo As String = OpenFileDialog1.FileName
Process.Start(PlayVideo)
End If
End Sub
Wenn du den Pfad bereits kennst und fest vorgeben willst, mach folgendes:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Process.Start("C:\Spass.wmv")
End Sub
Liebe Grüße Stefan -
Hi,
vielen Dank euch beiden für die Antworten!
Da ich mein Programm ja von der DVD starten und ich das Video ausführen möchte weiß ich den Pfad nicht, da ich nicht weiß, in welches DVD-Laufwerk meine DVD reingelegt wird.
Außerdem wäre es gut, wenn ich über den 2ten Button den explorer öffnen könnte und Daten auf der DVD ansehen kann.
MfG
Mr.Expert
-
Hallo,
Da ich mein Programm ja von der DVD starten und ich das Video ausführen möchte weiß ich den Pfad nicht, da ich nicht weiß, in welches DVD-Laufwerk meine DVD reingelegt wird.
wenn Deine Anwendung ebenfalls von CD/DVD gestartet wird, hast Du den Pfad grundsätzlich schon einmal über Application.StartupPath, wie Stefan bereits schrieb. Wenn das Video im gleichen Verzeichnis liegt, wie Deine Anwendung, kannst Du den Pfad einfach verbinden:
Process.Start(IO.Path.Combine(Application.StartupPath, "myvideo.wmv")
Außerdem wäre es gut, wenn ich über den 2ten Button den explorer öffnen könnte und Daten auf der DVD ansehen kann.
Unter der o.g. Annahme:
Process.Start.(Application.StartupPath)
Ggf. kann man durch direkte Angabe von explorer.exe und Angabe weiterer Parameter die Art der Darstellung beeinflussen.
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Als Antwort vorgeschlagen Robert BreitenhoferModerator Montag, 6. September 2010 07:33
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 7. September 2010 08:38
-
Hallo Mr. Expert,
das mit dem zweiten Button wird durch:
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then Dim PlayVideo As String = OpenFileDialog1.FileName Process.Start(PlayVideo) End If
erledigt. Wie der Name sagt, wird hier ein Dialog geöffent, der dir die Auswahl des Laufwerks und der Datei sehr einfach macht.
Du muss natürlich vorher einen OpenFileDialog als Control hinzufügen und dann wäre es auch sinnvoll die Filterfunktion zu nutzen da du sonst die Qual der Wahl hast. Der Filter "Alle Dateien *.*| *.*| WAVE-Dateien | *.wav ... definiest du selbst.
Wenn du den Autorun nutzt, musst du dir gar keine Gedanken machen (außer, die Autorun.inf).
Liebe Grüße Stefan- Bearbeitet Robert BreitenhoferModerator Montag, 6. September 2010 07:35 Formatierung
-
Morschen,
ich kopiere das Programm aber auf DVD und starte es über autorun.inf!
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hallo Stefan,
du magst damit völlig Recht haben und alles was du geschrieben hast klappt.
Da ich aber ein völliger Anfänger bin, kriege ich immer wenn ich das umsetze Probleme und dann klappt alles meistens nicht. Deshalb brauche ich am besten ein Beispiel, dass ich dann am besten umsetzen kann!
MfG
Mr.Expert
-
Hallo Mr. Expert,
ok, hier ein Beispiel (ich hoffe, das wir nun nicht so einfach, dass du dich beleidigt fühlst – das ist nicht meine Absicht).
Folgende Annahmen:
- Du möchtest den Standardplayer und nicht den Windows MediaPlayer verwenden.
- Du möchtest zwei Buttons. Der eine öffnet den Dialog um eine Datei auszuwählen und der zweite spielt die ausgewählte Datei ab?
Dann machst du eine neue Anwendung wobei die Größe der Form egal ist, da der Standardplayer ohnehin von dieser Form losgelöst ist (erst mal).
Den ersten Button benennst du:
BtnLoadFile den zweiten BtnPlayFile
Als Text (nicht Name!!) schreibst du:
Load
Play
Nun brauchst du noch einen OpenFile-Dialog. Den holst du aus der ToolBox.
Dort gibt es die Gruppe Dialogfelder. Darin findest du den „OpenFileDailog“ den ziehts du über Plug & Play auf deine Form. Du siehst dann unterhalb der Form den OpenFileDialog1 (den könnten wir umbenennen, machen wir aber erst mal nicht!)
Damit hast du alle Controls die du benötigst.
Nun kommt der komplette Code:
Doppelklicke auf den ersten Button der mit Load beschriftet ist:
Private Sub BtnLoadFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLoadFile.Click
Try
If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
Dim Play As String = OpenFileDialog1.FileName
End If
Catch ex As Exception
MsgBox("Fehler :-)")
End Try
End Sub
Nun Doppelklicke auf den ersten Button der mit Play beschriftet ist:
Private Sub BtnPlayFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPlayFile.Click
Try
Dim Play As String = OpenFileDialog1.FileName
Process.Start(Play)
Catch ex As Exception
MsgBox("Fehler :-)")
End Try
End Sub
Jeweils der Code inkl. Try und End Try ist dein Code.
Starte dein Programm. Klicke auf Load. Dann erhätst du einen Dialog, den du bereits kennst. Durchsuche deinen PC und wähle eine Datei aus. Bestätige mit OK und klicke danach den Button Play.
Ach ja, da war ja noch die Sache mit dem Filter.
Klicke auf den OpenFileDialog1 (unterhalb deiner Form). Im Projektmappenexplorer findest du die Eigenschaften für den OpenFileDialog1. In der linken Spalte findest du den Eintrag FileName, rechts daneben steht OpenFileDialog1. Dieses OpenFileDialog1 löschst du. Der Grund ist der, das du sonst beim Öffnen des OpenFileDialog1 als Dateiname immer automatisch OpenFileDialog1 stehen hast. Wenn du das möchtest, lass es. Theoretisch kannst du einen eigenen kurzen Text wie Mr. Expert eingeben ;-)
Direkt darunter findest du den Eintrag (linke Spalte) Filter. Dahinter steht nichts.
Da füge mal
Alle Dateien *.*| *.*| WAVE-Dateien | *.wav | WMV-Dateien |*.wmv
ein, und starte dein Programm.
Wenn du nun den Dialog zum Laden einer Datei öffnest, hast du die Auswahl zwischen allen Dateiformaten, Wave – oder WMV-Dateien. Du kannst das nun mit MP3 …. beliebig erweitern.
Hoffe das macht die Sache etwas klarer.
Liebe Grüße Stefan -
Hallo Stefan,
da hast du mich falsch verstanden.
Ich habe das Video auf einer DVD und möchte einen Button haben, der den Standartplayer des Users öffnet und das Video abspielt.
Der zweite Button soll den Explorer in einem bestimmten Ordner auf der DVD öffnen!
MfG
Mr.Expert
-
Hallo,
Ich habe das Video auf einer DVD und möchte einen Button haben, der den Standartplayer des Users öffnet und das Video abspielt.
Der zweite Button soll den Explorer in einem bestimmten Ordner auf der DVD öffnen!
es wäre wirklich einfacher Dir zu helfen, wenn Du mal konkret sagen könntest, wo Du ein Problem mit der Umsetzung der bisher genannten Lösungswege hast. Eigentlich hast Du bereits alle Tipps erhalten, die Du für die Umsetzung brauchst. Du musst sie nur noch Deinen Bedürfnissen entsprechend anpassen. Ein Formular erstellen, dort zwei Buttons platzieren und in die Klickereignisse die passenden (Hint: hier genannten) Codes einfügen. Natürlich musst Du noch den Namen der abzuspielenden Videodatei angeben.
Das sollte zu schaffen sein, wenn man sich wenigstens mal mit den Grundlagen seiner Programmierumgebung beschäftigt hat.
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de -
So wie es hier geschrieben steht.
Muss der Benutzer meines Programmes erst die Datei auswählen.
Ich möchte aber, das mein Button das Video auf der DVD startet, ohne dass der User den Pfad angeben muss. Ich weiß ja nicht in welches Fach der User die DVD legt.
MfG
Mr.Expert
-
Hallo,
Ich möchte aber, das mein Button das Video auf der DVD startet, ohne dass der User den Pfad angeben muss. Ich weiß ja nicht in welches Fach der User die DVD legt.
ich bezog meine Frage auf die Beiträge von Stefan Falz und mir, die eben genau diese Anforderung berücksichtigen.
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de -
Hallo Mr. Expert,
du machst es mir aber auch nicht leicht, dich zu verstehen. In diesem Thread findest du alle Infos, die du zur Lösung deines Problems benötigst. Hast du dir schon mal eine Autorun.inf angesehen?
Eine Autorun.Inf kannst du ganz leicht mit jedem Texteditor erstellen und sieht wie folgt aus:[AUTORUN]
OPEN=Anwendung.exe
ICON=Anwendung.icoNatürlich kannst du anstelle der "Anwedung.exe" auch deine WMV-Datei angeben.
Wenn diese Lösung für dich keine Lösung ist, haben Stefan Falz und Thorsten doch schon geantwortet.
Liebe Grüße Stefan -
Hallo Stefan,
[AUTORUN]
OPEN=Anwendung.exe
ICON=Anwendung.icoNatürlich kannst du anstelle der "Anwedung.exe" auch deine WMV-Datei angeben.
natürlich kann man das nicht. 'open' erwartet eine ausführbare Datei, eine WMV Datei ist nicht ausführbar. Statt dessen kann man 'shellexecute' verwenden, damit können auch Dateien mit den ihnen zugeordneten Anwendungen geöffnet werden.
Ausführliche Dokumentation zu Autorun.inf:
Autorun.inf Entries
http://msdn.microsoft.com/en-us/library/cc144200(VS.85).aspx
Weiteres:
HOW TO: Create an Autorun CD-ROM for Applications That You Create by Using Microsoft Visual Studio .NET
http://support.microsoft.com/kb/818804/en-us/
Ich lese aber bisher nicht heraus, dass genau dies das Problem des Fragestellers ist und ich befürchte schon fast, dass er uns sein Problem nicht vermitteln wird.
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de -
Hallo,
Natürlich kenne ich eine Autoru.inf datei!!!
warum kennst Du dann bisher nicht die Grundlagen der Programmierung mit Visual Basic?
Kann mir denn jmd. den Code hier hereinschreiben?
Aus euren Hilfen werde ich nicht schlau!
Vorgekaut und Einsatzbereit:
Imports System.IO Public Class Form1 Private Const VideoDateiName As String = "myvideo.wmv" Friend WithEvents Button1 As System.Windows.Forms.Button Friend WithEvents Button2 As System.Windows.Forms.Button Public Sub New() ' This call is required by the Windows Form Designer. InitializeComponent() ' Add any initialization after the InitializeComponent() call. Me.Button1 = New System.Windows.Forms.Button Me.Button2 = New System.Windows.Forms.Button ' 'Button1 ' Me.Button1.Location = New System.Drawing.Point(30, 30) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(111, 27) Me.Button1.TabIndex = 0 Me.Button1.Text = "Video starten" Me.Button1.UseVisualStyleBackColor = True ' 'Button2 ' Me.Button2.Location = New System.Drawing.Point(201, 30) Me.Button2.Name = "Button2" Me.Button2.Size = New System.Drawing.Size(111, 27) Me.Button2.TabIndex = 0 Me.Button2.Text = "Explorer" Me.Button2.UseVisualStyleBackColor = True Me.Controls.Add(Me.Button2) Me.Controls.Add(Me.Button1) End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim lFileName As String = Path.Combine(Application.StartupPath, VideoDateiName) If File.Exists(lFileName) Then Process.Start(lFileName) Else MsgBox(String.Format("Die Datei '{0}' konnte nicht gefunden werden.", lFileName), _ MsgBoxStyle.Critical Or MsgBoxStyle.OkOnly, _ "Videodatei nicht gefunden") End If End Sub Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click Process.Start(Application.StartupPath) End Sub End Class
Einzig musst Du noch den Namen der Videodatei anpassen (das habe ich Dir übersichtlich als Konstante VideoDateiName angelegt) und diese Videodatei neben Deine Anwendung legen. Zu Testzwecken kannst Du das Video zu Deinem Projekt hinzufügen und dieses ins Ausgabeverzeichnis kopieren lassen (Siehe Eigenschaften, nachdem Du es hinzugefügt hast).
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 7. September 2010 08:39