Beschreibung:
DirectSchow MediaPlayer ist ein leistungsstarker Mediaplayer auf Basis von DirectShow.NET. Dank DirectShow ist der Player Threadsicher und in der Lage alle auf dem System installierten Codecs für die Wiedergabe zu verwenden. Dabei kapselt die Klasse alle aufwändigen Interopaufrufe und COM-Interfaces auf eine leicht zu bedienende Art und Weise.
Klassendiagramm:
Programmbeispiel:
Verwendete Programmiersprache und IDE:
Visual Basic .NET (IDE: VS 2012 Ultimate)
Systemanforderungen:
.NET Framework 4.0
DirectShow.NET (liegt dem Download bei)
Changelog:
Version 1.1
- Eigenschaft "Length": geändert in TimeSpan
- Eigenschaft "Position": geändert in TimeSpan
- eingestellte Geschwindigkeit bleibt jetzt nach Stop erhalten
- Event "PositionChanged" hinzugefügt
- Fehler bei der Wiedergabe von audio-only gefixt
- Fehler in der "HasVideo"-Eigenschaft gefixt
- seltenen RCW Fehler bei Wiedergabeende (hoffentlich) gefixt
- Beispielanwendung hinzugefügt
Download:
DirectShowPlayer.zip (132 kB)
DirectShowPlayer_Project.zip (739 kB)
Lizenz/Weitergabe:
Opensource
DirectSchow MediaPlayer ist ein leistungsstarker Mediaplayer auf Basis von DirectShow.NET. Dank DirectShow ist der Player Threadsicher und in der Lage alle auf dem System installierten Codecs für die Wiedergabe zu verwenden. Dabei kapselt die Klasse alle aufwändigen Interopaufrufe und COM-Interfaces auf eine leicht zu bedienende Art und Weise.
Klassendiagramm:
Programmbeispiel:
VB.NET-Quellcode
- Imports DirectShow
- Public Class Form1
- Private WithEvents player As MediaPlayer
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- player.play()
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- player.pause()
- End Sub
- Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
- player.stop()
- End Sub
- Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
- player.stop()
- End Sub
- Private Sub Form1_HandleCreated(sender As Object, e As EventArgs) Handles Me.HandleCreated
- player = New MediaPlayer
- player.handle = Panel1.Handle
- End Sub
- Private Sub Panel1_Resize(sender As Object, e As EventArgs) Handles Panel1.Resize
- If player IsNot Nothing Then player.resize(Panel1.ClientRectangle)
- End Sub
- Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
- Dim ofd As New OpenFileDialog
- If ofd.ShowDialog = Windows.Forms.DialogResult.OK Then
- player.mediaFile = ofd.FileName
- End If
- End Sub
- Private Sub player_started(sender As Object, e As EventArgs) Handles player.started
- player.resize(Panel1.ClientRectangle)
- End Sub
- End Class
Verwendete Programmiersprache und IDE:
Visual Basic .NET (IDE: VS 2012 Ultimate)
Systemanforderungen:
.NET Framework 4.0
DirectShow.NET (liegt dem Download bei)
Changelog:
Version 1.1
- Eigenschaft "Length": geändert in TimeSpan
- Eigenschaft "Position": geändert in TimeSpan
- eingestellte Geschwindigkeit bleibt jetzt nach Stop erhalten
- Event "PositionChanged" hinzugefügt
- Fehler bei der Wiedergabe von audio-only gefixt
- Fehler in der "HasVideo"-Eigenschaft gefixt
- seltenen RCW Fehler bei Wiedergabeende (hoffentlich) gefixt
- Beispielanwendung hinzugefügt
Download:
DirectShowPlayer.zip (132 kB)
DirectShowPlayer_Project.zip (739 kB)
Lizenz/Weitergabe:
Opensource
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Artentus“ ()