VB.NET mit Direct X, DVD wiedergeben?

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von Acr0most.

    VB.NET mit Direct X, DVD wiedergeben?

    Hallo ihr lieben,

    ich möchte unter Windows 10 einen DVD Player programmieren und ich habe gehört dass das Direct X auch wie z.B. das VLC Player Control könnte aber ich weis nicht wie bzw. was ich da beachten muss. Ich habe ein Code mir diesbezüglich aus dem Internet besorgt aber ich weis (noch) nicht einmal ob das überhaupt Direct X kann.

    VB.NET-Quellcode

    1. ​Imports System.IO
    2. Public Class tmDVD
    3. Dim Volume As Boolean = True
    4. Private WithEvents AudioDatei As Audio
    5. Private WithEvents VideoDatei As Video
    6. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    7. ToolStripStatusLabel3.Enabled = False
    8. With Me.TrackBar2
    9. .Maximum = 7500
    10. .Minimum = 0
    11. .LargeChange = 1000
    12. .SmallChange = 100
    13. .TickFrequency = 1000
    14. .Value = .Maximum
    15. End With
    16. End Sub
    17. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    18. Try
    19. Me.Timer1.Enabled = True
    20. AudioDatei.Play()
    21. ZeitTimer.Start()
    22. Catch ex As Exception
    23. End Try
    24. Try
    25. Me.Timer2.Enabled = True
    26. VideoDatei = New Video(TextBox1.Text)
    27. VideoDatei.Owner = Panel1
    28. VideoDatei.Play()
    29. ZeitTimer.Start()
    30. Catch ex As Exception
    31. End Try
    32. End Sub
    33. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    34. Try
    35. AudioDatei.Pause()
    36. Catch ex As Exception
    37. End Try
    38. Try
    39. VideoDatei.Pause()
    40. Catch ex As Exception
    41. End Try
    42. End Sub
    43. Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    44. Try
    45. AudioDatei.Stop()
    46. Catch ex As Exception
    47. End Try
    48. Try
    49. VideoDatei.Stop()
    50. Catch ex As Exception
    51. End Try
    52. End Sub
    53. Private Sub DateiÖffnenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateiÖffnenToolStripMenuItem.Click
    54. Try
    55. If Me.OpenFileDialog1.ShowDialog() <> DialogResult.OK Then
    56. Return
    57. End If
    58. Dim FileName As String = Me.OpenFileDialog1.FileName
    59. If Not AudioDatei Is Nothing Then
    60. AudioDatei.Dispose()
    61. End If
    62. ' Laden der ausgewählten Audiodatei.
    63. AudioDatei = New Audio(FileName)
    64. With Me.TrackBar1
    65. .Minimum = 0
    66. .Maximum = CInt(AudioDatei.Duration)
    67. .LargeChange = .Maximum \ 10
    68. .SmallChange = .Maximum \ 100
    69. End With
    70. Dim Song As String, artist As String
    71. Dim datei As String, fs As FileStream, br As BinaryReader
    72. datei = OpenFileDialog1.FileName
    73. fs = New FileStream(datei, FileMode.Open, FileAccess.Read)
    74. br = New BinaryReader(fs)
    75. Dim file As New FileInfo(datei)
    76. Dim tagposition As Integer = (file.Length - 128)
    77. fs.Position = tagposition + 3
    78. Song = br.ReadChars(30)
    79. ToolStripStatusLabel1.Text = Song
    80. fs.Position = tagposition + 33
    81. artist = br.ReadChars(30)
    82. ToolStripStatusLabel1.Text = artist
    83. ToolStripStatusLabel3.Enabled = True
    84. Catch ex As Exception
    85. OpenFileDialog1.ShowDialog()
    86. TextBox1.Text = OpenFileDialog1.FileName
    87. End Try
    88. End Sub
    89. Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll
    90. Try
    91. Dim SourceControl As TrackBar = DirectCast(sender, TrackBar)
    92. Me.ToolTip1.SetToolTip(SourceControl, CStr(SourceControl.Value) & " s")
    93. AudioDatei.CurrentPosition = SourceControl.Value
    94. Catch ex As Exception
    95. End Try
    96. Try
    97. Dim SourceControl As TrackBar = DirectCast(sender, TrackBar)
    98. Me.ToolTip1.SetToolTip(SourceControl, CStr(SourceControl.Value) & " s")
    99. VideoDatei.CurrentPosition = SourceControl.Value
    100. Catch ex As Exception
    101. End Try
    102. End Sub
    103. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    104. Try
    105. Me.TrackBar1.Value = CInt(AudioDatei.CurrentPosition)
    106. Catch ex As Exception
    107. End Try
    108. End Sub
    109. Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
    110. Try
    111. If Volume = True Then
    112. AudioDatei.Volume = -7500
    113. Volume = False
    114. Button6.BackgroundImage = ImageList1.Images(0)
    115. Button6.BackgroundImageLayout = ImageLayout.Center
    116. TrackBar2.Enabled = False
    117. Else
    118. AudioDatei.Volume = 0
    119. Volume = True
    120. Button6.BackgroundImage = ImageList1.Images(1)
    121. Button6.BackgroundImageLayout = ImageLayout.Center
    122. TrackBar2.Enabled = True
    123. End If
    124. Catch ex As Exception
    125. End Try
    126. Try
    127. If Volume = True Then
    128. VideoDatei.Audio.Volume = -7500
    129. Volume = False
    130. Button6.BackgroundImage = ImageList1.Images(0)
    131. Button6.BackgroundImageLayout = ImageLayout.Center
    132. TrackBar2.Enabled = False
    133. Else
    134. VideoDatei.Audio.Volume = 0
    135. Volume = True
    136. Button6.BackgroundImage = ImageList1.Images(1)
    137. Button6.BackgroundImageLayout = ImageLayout.Center
    138. TrackBar2.Enabled = True
    139. End If
    140. Catch ex As Exception
    141. End Try
    142. End Sub
    143. Private Sub TrackBar2_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar2.Scroll
    144. Try
    145. Dim SourceControl As TrackBar = DirectCast(sender, TrackBar)
    146. AudioDatei.Volume = -SourceControl.Maximum + SourceControl.Value
    147. Catch ex As Exception
    148. End Try
    149. Try
    150. Dim SourceControl As TrackBar = DirectCast(sender, TrackBar)
    151. VideoDatei.Audio.Volume = -SourceControl.Maximum + SourceControl.Value
    152. Catch ex As Exception
    153. End Try
    154. End Sub
    155. Private Sub ZeitTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ZeitTimer.Tick
    156. Try
    157. Dim Länge As String = TimeSpan.FromSeconds(AudioDatei.Duration).Minutes.ToString("00") & ":" & CStr(TimeSpan.FromSeconds(AudioDatei.Duration).Seconds.ToString("00"))
    158. Dim CurrentPos As String = TimeSpan.FromSeconds(AudioDatei.CurrentPosition).Minutes.ToString("00") & ":" & (TimeSpan.FromSeconds(AudioDatei.CurrentPosition).Seconds.ToString("00"))
    159. Label1.Text = CurrentPos & " / " & Länge & " "
    160. Catch ex As Exception
    161. End Try
    162. Try
    163. Dim Länge As String = TimeSpan.FromSeconds(VideoDatei.Duration).Minutes.ToString("00") & ":" & CStr(TimeSpan.FromSeconds(AudioDatei.Duration).Seconds.ToString("00"))
    164. Dim CurrentPos As String = TimeSpan.FromSeconds(VideoDatei.CurrentPosition).Minutes.ToString("00") & ":" & (TimeSpan.FromSeconds(AudioDatei.CurrentPosition).Seconds.ToString("00"))
    165. Label1.Text = CurrentPos & " / " & Länge & " "
    166. Catch ex As Exception
    167. End Try
    168. End Sub
    169. Private Sub DateiInfosToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateiInfosToolStripMenuItem.Click
    170. Form2.Show()
    171. End Sub
    172. Private Sub EinstellungenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EinstellungenToolStripMenuItem.Click
    173. Form3.Show()
    174. End Sub
    175. Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
    176. Try
    177. Me.TrackBar1.Value = CInt(VideoDatei.CurrentPosition)
    178. Catch ex As Exception
    179. End Try
    180. End Sub
    181. End Class


    Könntet ihr mir das mal bitte diese Frage ENDLICH die ich mir stelle, eventuell beantworten?

    MFG
    Wie man mich kontaktieren kann:
    thiemo-melhorn.de

    Thiemo1991 schrieb:

    ich weis (noch) nicht einmal ob das überhaupt Direct X kann.
    Was soll das Programm tun, was tut es statt dessen?
    Hast Du alle erforderlichen DLLs eingebunden?
    Und:
    Machma nen
    Spoiler
    Spoiler
    um Deinen Code.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ja! Brauche ich außer die

    VB.NET-Quellcode

    1. Imports Microsoft.DirectX
    und den Verweis auf

    VB.NET-Quellcode

    1. Imports Microsoft.DirectX.AudioVideoPlayback
    sonst noch welche Verweise?
    Wie man mich kontaktieren kann:
    thiemo-melhorn.de
    @Thiemo1991 OK.
    Was macht Dein Programm, was macht es nicht?
    Und
    Machma nen
    Spoiler
    Spoiler
    um Deinen Code.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @Thiemo1991 Du hast nicht einmal eine präzise Frage formuliert. Angenommen das hier:

    Thiemo1991 schrieb:

    ich weis (noch) nicht einmal ob das überhaupt Direct X kann

    ist deine Frage, woher sollen wir wissen was "das" ist. Wir können dir nicht sagen ob etwas Direct X unterstützt, wenn du uns nicht sagst was du benutzt. In deinem Code ist nämlich nicht ersichtlich, welchen Typ AudioDatei und VideoDatei haben. Ansonsten importierst du ja sogar die DirectX Namespaces, weshalb sollte es (was auch immer) also nicht Direct X unterstützen?

    Gib uns eine präzise Fragestellung, dann probieren wir die Frage so präzise wie möglich zu beantworten.

    Thiemo1991 schrieb:

    Könntet ihr mir das mal bitte diese Frage ENDLICH die ich mir stelle, eventuell beantworten?

    Denn es ist zwar schön, wenn du dir ENDLICH diese Frage stellst, aber wie sollen wir sie dir beantworten, wenn du sie uns nicht stellst?

    Grüße
    Vainamo
    Äh, was wird denn hier versucht?
    Du "besorgst" Dir aus dem Internet Code, und fragst hier ob das der richtige für Dein vorhaben ist? ?(

    Weisst Du denn was der Code macht?

    Ganz nebenbei hat @RodFromGermany das schon 2 mal gefragt. Überliest Du das mit Absicht?
    Rechtschreibfehler betonen den künstlerischen Charakter des Autors.

    Thiemo1991 schrieb:

    Ein Video bzw. eine Audiodatei abspielen.


    Wenn der Code das tut, dann ist doch alles gut. Du hast den richtigen Code und fertig... Oder nicht?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    Thiemo1991 schrieb:

    dass das der richtige Code für mein Vorhaben, ist
    Ich glaube kaum, dass hier jemand Deinen Code getestet hat. Und wenn er tut was er tun soll, warum machst Du dann diesen Thread auf?
    Und nun bereits zum dritten Mal:
    Editiere Deinen Startpost und mach um den Code einen Spoiler: So ein Ding:
    Spoiler
    Spoiler
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Sorry für die vllt. etwas harte Fragestellung, aber:

    Hast du jemals versucht dich mit den vor dir (irgendwie im Netz) besorgten Snippets auseinander zu setzen?

    Wenn man schon den Code aus dem Netz zieht, dann sollte das ein intensives Auseinandersetzen mit dem Code sowie eine Experimentierphase mit sich ziehen.

    Einfach nur zu copy-pasten und Andere zu fragen, ob der Code das tut, was Du dir vorstellst, hat weder was mit "Programmieren" noch mit "Hilfe im Forum suchen" zu tun.

    Außerdem ist das ständige Ignorieren von Anfragen für uns wichtige Informationen sehr lästig.
    Bitte lies die Antworten komplett durch und antworte auf ALLE Fragen die dir da gestellt werden und erledige evtl. gestellte Aufgaben.

    Ansonsten wird der Thread wieder ewig lang und keiner versteht das, was der Andere sagt und es wird ohne Lösung geschlossen bzw. verläuft im Sand.

    LG Acr0most
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup: