Hallo Community,
da ich schon viele posts gelesen habe in denen gefragt wird wie man Musik oder Videos Ohne das WMP Control abspielt, mach ich mal dieses Tutorial!
1. Also ihr müsst euch als erstes das
DirectX SDK herunterladen!
Das DirectX SDK benötigt ihr bloß auf dem Entwickler Computer! Der Benutzer muss bloß DirectX9 installiert haben! Ihr solltet es vielleicht in euren Programmen mitgeben falls das Programm auf einem OS unter XP laufen soll

unter Vista/7 ist das schon vorinstalliert!
2. Ihr müsst über Projekt->Verweis hinzufügen einen Verweis auf Microsoft.DirectX.AudioVideoPlayback und Microsoft.DirectX hinzufügen!
3. Solltet ihr die Namensräume importieren:
|
Visual Basic Quellcode
|
1
2
|
Imports Microsoft.DirectX
Imports Microsoft.DirectX.AudioVideoPlayback
|
Ihr solltet nun eine Globale Variable Audio/Video anlegen!
Für Audio:
|
Visual Basic Quellcode
|
1
|
Private WithEvents AudioDatei As Audio
|
Für Video:
|
Visual Basic Quellcode
|
1
|
Private WithEvents VideoDatei As Video
|
Zum Abspielen müsst ihr AudioDatei oder VideoDatei definieren:
Für Audio:
|
Visual Basic Quellcode
|
1
|
AudioDatei = New Audio("Pfad")
|
Für Video:
|
Visual Basic Quellcode
|
1
|
VideoDatei = New Video("Pfad")
|
Pfad ist hier ebenhalt der Pfad zur Datei des Videos/Audios
dann müsst ihr es noch abspielen:
Für Audio:
|
Visual Basic Quellcode
|
1
|
AudioDatei.Play()
|
Für Video:
|
Visual Basic Quellcode
|
1
|
VideoDatei.Play()
|
Wenn ihr bei Video keinen Owner festgelegt habt öffnet sich ein Extra Fenster mit der Größe des Videos! Den Owner festlegen könnt ihr damit:
|
Visual Basic Quellcode
|
1
|
VideoDatei.Owner = Panel1
|
ihr solltet das Panel1 in noch ein Panel stecken damit sich das Panel1 nicht immer mitvergrößert! Wenn ihr dies nicht tut Wird sich die Größe des Panels der Größe des Videos anpassen!
Nun könnt ihr natürlich noch Pausieren und Stoppen!
Für Audio:
|
Visual Basic Quellcode
|
1
2
|
AudioDatei.Pause() 'Pausieren
AudioDatei.Stop() 'Stoppen
|
Für Video:
|
Visual Basic Quellcode
|
1
2
|
VideoDatei.Pause() 'Pausieren
VideoDatei.Stop() 'Stoppen
|
und um die Aktuelle Position/ Länge des Liedes/Videos auszurechnen könnt ihr diesen Code verwenden:
Für Audio:
|
Visual Basic Quellcode
|
1
2
|
Dim Länge As String = TimeSpan.FromSeconds(AudioDatei.Duration).Minutes.ToString("00") & ":" & CStr(TimeSpan.FromSeconds(AudioDatei.Duration).Seconds)
Dim CurrentPos As String = TimeSpan.FromSeconds(AudioDatei.CurrentPosition).Minutes.ToString("00") & ":" & CStr(TimeSpan.FromSeconds(AudioDatei.CurrentPosition).Seconds)
|
Für Video:
|
Visual Basic Quellcode
|
1
2
3
|
Dim Länge As String = TimeSpan.FromSeconds(VideoDatei.Duration).Minutes.ToString("00") & ":" & CStr(TimeSpan.FromSeconds(VideoDatei.Duration).Seconds)
Dim CurrentPos As String = TimeSpan.FromSeconds(VideoDatei.CurrentPosition).Minutes.ToString("00") & ":" & CStr(TimeSpan.FromSeconds(VideoDatei.CurrentPosition).Seconds)
|
die Beiden liefern eine Ausgabe im Format 00:00 aus!
CurrentPosition und Duration geben die Totalen Sekunden zurück!
Ihr könnt natürlich auch die Lautstärke angeben:
Für Audio:
|
Visual Basic Quellcode
|
1
|
AudioDatei.Volume = 0
|
Für Video:
|
Visual Basic Quellcode
|
1
|
VideoDatei.Audio.Volume = 0
|
0 ist hier das Lauteste! Alles über 0 schlägt Fehler!
das Minimum ist hier -10000 aber -10000 ist wirklich völlig kein Ton mehr!
eigentlich ist -5000 auch so leise das man es fast garnicht hört! nur wenn man sehr genau hinhört!
Beim Video muss man hier auf das Audio Element des Videos zugreifen!
Man kann so zB auch die Musik des Videos stoppen wobei die Bilder weiterlaufen!
|
Visual Basic Quellcode
|
1
|
VideoDatei.Audio
|
liefert nähmlich ein Audio Element!
Es gibt auch verschiedene Events:
Stopping - Wenn die Methode .Stop() aufgerufen wird
Ending - Wenn die CurrentPosition = Duration ist ACHTUNG: Stopping ist nicht Ending!
Pausing - Wenn die Methode .Pause() aufgerufen wurde
Starting - Wenn die Methode .Play() aufgerufen wurde
Disposing - Wenn die Methode .Dispose() aufgerufen wurde(Zerstört das Element!)
Es gibt auch verschiedene Propertrys:
Playing - True wenn die das Audio/Video gerade abspielt
Paused - True wenn das Audio/Video pausiert ist
Stopped - True wenn das Audio/Video gestoppt ist
Ich werde hier jetzt keinen vollständigen Code mit hereinstellen da ihr denke ich mal den Code selber zusammstellt

so ich hoffe ich konnte hier jemanden helfen!
wenn es Fehler gibt bitte hier Posten

auch bei fragen etc. hier Posten
progglord