Form Handles (Media-Player Problem)

  • VB.NET

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

    Form Handles (Media-Player Problem)

    Hi Leute
    ich habe einen kleinen Mediplayer programmiert, der mp3 abspielt.
    So nun möchte ich das wenn ich auf eine (Mp3-)Datei gehe und dort drücke "Öffnen mit..." mein Programm öffnet und die Datei abspielt.
    Wie mache ich das?
    Vielleicht in der

    VB.NET-Quellcode

    1. Form1.Load(Byval sender as ... , ByVal Dateiname as String)
    ??
    Jaja ich weiß wie ich eine Datei mit meinem Programm öffen aber:

    1.Frage: Ich möchte das mein Player diese Datei dann auch abspielt. Geht das mit Parametern?

    2.Frage: Wie kann ich eine Item in einer Listbox suchen(Mit einem String?)?
    Ja klar geht das. Mit dem Code kriegst du ja den Pfad zur Datei, die kannst du dann abspielen. Was meinst du mit "suchen"? Du kannst die Einträge in einer Schleife durchgehen und falls gefunden die Schleife verlassen und den Index des Eintrags in eine Variable schreiben.
    Mit "suchen" meinte ich eigentlich das:
    In meiner Listbox Steht:
    C:\Users\Music\Lied.wma
    C:\Users\Music\Song.wma

    So nun möchte ich das wenn ich Song eingebe "C:\Users\Music\Song.wma" ausgewählt wird(selected) also blau hinterlegt, wie mache ich das denn?
    Hier ein kleines Beispiel, das alle Items markiert, das mit dem eingegeben Text übereinstimmen:

    VB.NET-Quellcode

    1. Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    2. If TextBox1.Text = "" Then
    3. ListBox1.SelectedIndex = "-1"
    4. Else
    5. ListBox1.SelectedIndex = "-1"
    6. For i As Long = 0 To ListBox1.Items.Count - 1
    7. If ListBox1.Items.Item(i).ToString.Contains(TextBox1.Text) = True Then
    8. ListBox1.SelectedIndex = i
    9. End If
    10. Next
    11. End If
    12. End Sub
    hey danke funktioniert

    aber noch eine frage:
    ich möchte das nur der Dateiname angezeigt wird und nicht noch ganz der Pfad, wie mache ich das?
    also "C:\users\Music\Lied.wma
    Lied.wma soll nur angezeigt werden

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Twintop“ ()

    Probier dies einmal so:

    VB.NET-Quellcode

    1. Public Class Song
    2. Private _FileName As String
    3. Private _Path As String
    4. Public Sub New()
    5. End Sub
    6. Public Sub New(ByVal fileName As String, ByVal path As String)
    7. _FileName = fileName
    8. _Path = path
    9. End Sub
    10. Public Property Filename() As String
    11. Get
    12. Return _FileName
    13. End Get
    14. Set(ByVal value As String)
    15. _FileName = value
    16. End Set
    17. End Property
    18. Public Property Path() As String
    19. Get
    20. Return _Path
    21. End Get
    22. Set(ByVal value As String)
    23. _Path = value
    24. End Set
    25. End Property
    26. Public Overrides Function ToString() As String
    27. Return Me.Filename
    28. End Function
    29. End Class
    30. .
    31. .
    32. .
    33. listbox1.items.add(New Song("c:\mp3\lied1.mp3", "lied1.mp3"))
    34. listbox1.items.add(New Song("c:\mp3\lied2.mp3", "lied2.mp3"))
    35. listbox1.items.add(New Song("c:\mp3\lied3.mp3", "lied3.mp3"))
    36. For i = 0 To listbox1.Items.Count - 1
    37. Dim item As Song = DirectCast(listbox1.Items.Item(i), Song)
    38. If item.Path.Contains("lied2") Then listbox1.SelectedIndex = i
    39. Next i
    Da brauchst du einen Folderbrowserdialog, keinen Openfiledialog. Der Folderbrowserdialog wirft dann zb "C:\Music" aus und du darfst dann ein weiteres "\" nicht vergessen, also zum Beispiel

    VB.NET-Quellcode

    1. FolderBrowserDialog1.SelectedPath & "\lied.mp3"
    Hab grad herausgefunden das, wenn ich es so mache das es immer noch so angezeigt wird:


    Hier mein Quellcode:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim Medien2 As New Collection
    3. Shared x()
    4. Private Sub ÖffnenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    5. OpenFileDialog1.ShowDialog()
    6. AxWindowsMediaPlayer1.URL = OpenFileDialog1.FileName.ToString
    7. Me.Text = OpenFileDialog1.FileName.ToString
    8. End Sub
    9. Private Sub madd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles madd.Click
    10. FolderBrowserDialog1.ShowDialog()
    11. Dim directory As New System.IO.DirectoryInfo(FolderBrowserDialog1.SelectedPath)
    12. For Each file As System.IO.FileInfo In directory.GetFiles
    13. If file.Extension = ".mp3" Then
    14. BindingSource1.Add(New Song(file.FullName, file.Name))
    15. End If
    16. For i = 0 To ListBox1.Items.Count - 1
    17. Dim item As Song = DirectCast(ListBox1.Items.Item(i), Song)
    18. If item.Path.Contains("lied2") Then ListBox1.SelectedIndex = i
    19. Next i
    20. Next
    21. End Sub
    22. Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    23. If TextBox1.Text = "" Then
    24. ListBox1.SelectedIndex = "-1"
    25. Else
    26. ListBox1.SelectedIndex = "-1"
    27. For i As Long = 0 To ListBox1.Items.Count - 1
    28. If ListBox1.Items.Item(i).ToString.Contains(TextBox1.Text) = True Then
    29. ListBox1.SelectedIndex = i
    30. End If
    31. Next
    32. End If
    33. End Sub
    34. Private Sub ListBox1_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick
    35. AxWindowsMediaPlayer1.URL = ListBox1.SelectedItem.ToString
    36. End Sub
    37. End Class
    38. Public Class Song
    39. Private _FileName As String
    40. Private _Path As String
    41. Public Sub New()
    42. End Sub
    43. Public Sub New(ByVal fileName As String, ByVal path As String)
    44. _FileName = fileName
    45. _Path = path
    46. End Sub
    47. Public Property Filename() As String
    48. Get
    49. Return _FileName
    50. End Get
    51. Set(ByVal value As String)
    52. _FileName = value
    53. End Set
    54. End Property
    55. Public Property Path() As String
    56. Get
    57. Return _Path
    58. End Get
    59. Set(ByVal value As String)
    60. _Path = value
    61. End Set
    62. End Property
    63. Public Overrides Function ToString() As String
    64. Return Me.Filename
    65. End Function
    66. End Class
    Nimm doch einfach den hier:

    VB.NET-Quellcode

    1. For i=0 to ListBox1.Items.Count -1
    2. Dim v As Object
    3. Dim item As String
    4. item=ListBox1.Items.Item(i)
    5. v=Split(item, "\")
    6. ListBox1.Items.Item(i)=v(Ubound(v))
    7. Next


    Das kannst du zum Beispiel in einen Timer hauen oder nach jeder Änderung der Liste ausführen lassen. Tipp: Mach doch Drag & Drop für die Liste.
    hi leute hab schonwieder ein probelem und zwar wenn ich (in meiner listbox steht "C:\User\Bla\Music\Gummibär.mp3") dann klicke ich doppelt drauf und der Media-player zeigt ne Fehlermeldung an von wegen: "der erweiterung von(.)"
    Kann mir jemand helfen???