Mp3 und txt gleichzeitig öffnen

  • VB.NET

Es gibt 30 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    estrichbeton schrieb:

    Geplayed werden soll
    Das ist mir klar.
    Um Dir Deinen Fehler vor Augen zu führen:

    RodFromGermany schrieb:

    Gib mal in einer MessageBox aus, was geplayed werden soll.

    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!
    Wenn die Punkte nicht dinne sind, sondern der qualifizierte Pfad, frag ich jetzt noch mal nach, was momentan nicht funktioniert. :/
    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!
    Ich lade einen Song mit dem Button " Select One Song " in die Listboxen.
    Nach einen Klick auf den LoadButton wird die hinterlegte Textdatei angezeigt und der Song kann mit Play abgespielt werden.

    Laden eines einzelnen Songs in die Listen :

    VB.NET-Quellcode

    1. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    2. OpenFileDialog1.Title = "Select Songs for the Playlist "
    3. OpenFileDialog1.Filter = "MP3 Files (*.mp3)|*.mp3|Wave Files (*wav)|*.wav|Midifiles (*mid)|*.mid|All Files (*.***)|*.*"
    4. If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
    5. ListBox1.DataSource = Nothing
    6. ListBox1.Items.Clear()
    7. ListBox2.DataSource = Nothing
    8. ListBox2.Items.Clear()
    9. ListBox3.DataSource = Nothing
    10. ListBox3.Items.Clear()
    11. ListBox1.Items.Add(OpenFileDialog1.FileName)
    12. For i = 0 To ListBox1.Items.Count - 1
    13. ListBox1.SelectedItems.Add(ListBox1.Items.Item(i))
    14. Next
    15. For Each file In OpenFileDialog1.SafeFileNames
    16. ListBox3.Items.Add(IO.Path.GetFileNameWithoutExtension(file) + ".txt")
    17. Next
    18. ListBox2.Items.Add(OpenFileDialog1.SafeFileName)
    19. For i = 0 To ListBox2.Items.Count - 1
    20. ListBox2.SelectedItems.Add(ListBox2.Items.Item(i))
    21. Next
    22. End If


    Textausgabe

    VB.NET-Quellcode

    1. Dim Button16_Stage As Integer
    2. Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click
    3. Bass.BASS_SetConfig(BASSConfig.BASS_CONFIG_BUFFER, 500)
    4. Bass.BASS_SetConfig(BASSConfig.BASS_CONFIG_UPDATEPERIOD, 20)
    5. Select Case Button16_Stage
    6. Case 0
    7. If ListBox1.SelectedItem = Nothing Then
    8. MessageBox.Show("Bitte erst einen Song oder Playlist auswählen. ")
    9. Return
    10. End If
    11. If System.IO.File.Exists(ListBox3.SelectedItem.ToString) Then
    12. RichTextBox1.Text = System.IO.File.ReadAllText(ListBox3.SelectedItem.ToString, System.Text.Encoding.Default)
    13. Else : RichTextBox1.Text = " Keine Textdatei hinterlegt... "
    14. End If
    15. Button16_Stage += 1
    16. 'Play............


    So weit so gut, Text ist in dem Ordner hinterlegt wird angezeit, Song spielt ab.

    Nochmal das "neue Problem"...

    Mit einem Klick auf den Button "Playlist 1" werden mehrere Songs in die Listen übernommen und dort auch wie gewünscht angezeit.
    (Textdateien liegen auch in dem Ordner).
    Nach einem Klick auf den Loadbutton wird aber der Text NICHT angezeigt.

    VB.NET-Quellcode

    1. Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
    2. ListBox1.Items.Clear()
    3. ListBox2.Items.Clear()
    4. ListBox3.Items.Clear()
    5. ListBox1.DataSource = Nothing
    6. ListBox2.DataSource = Nothing
    7. ListBox3.DataSource = Nothing
    8. ListBox1.Items.AddRange(IO.Directory.GetFiles("C:\Dokumente und Einstellungen\Jochen\Eigene Dateien\Visual Studio 2010\Projects\WindowsApplication5\Musikdaten\Playlist1\"))
    9. For i = 0 To ListBox1.Items.Count - 1
    10. ListBox1.SelectedItems.Add(ListBox1.Items.Item(i))
    11. Next
    12. For Each file In ListBox1.Items
    13. ListBox3.Items.Add(IO.Path.GetFileNameWithoutExtension(file) + ".txt")
    14. Next
    15. For i = 0 To ListBox3.Items.Count - 1
    16. ListBox3.SelectedItems.Add(ListBox3.Items.Item(i))
    17. Next
    18. For Each file In ListBox1.Items
    19. ListBox2.Items.Add(IO.Path.GetFileName(file))
    20. Next
    21. For i = 0 To ListBox2.Items.Count - 1
    22. ListBox2.SelectedItems.Add(ListBox2.Items.Item(i))
    23. Next
    24. End Sub



    Einen Link zu einem Screenshot habe ich begfügt.

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

    estrichbeton schrieb:

    NICHT angezeigt
    Gib mal nach dieser Zeile in einer MessageBox aus, was Du in der ListBox anhängst und vergleiche das mit dem, was Du glaubst, was da angehängt wird:

    VB.NET-Quellcode

    1. ListBox3.Items.Add(IO.Path.GetFileNameWithoutExtension(file) + ".txt")
    Und:
    Nutze die Bildanhang-Funktion des Forums:
    Erweiterte Antwort => Dateianhänge => Hochladen.
    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!
    Frage.
    Wenn ich jetzt die Listbox3 mit

    VB.NET-Quellcode

    1. ListBox3.Items.AddRange(IO.Directory.GetFiles("C:\Dokumente und Einstellungen\Jochen\Eigene Dateien\Visual Studio 2010\Projects\WindowsApplication5\Musikdaten\Playlist1\"))


    fülle, gibt es eine Mögliochkeit alle Dateien mit der Endung .txt zu versehen ? ( bzw. die endungen .mp3 zu ersetzen duch .txt)

    estrichbeton schrieb:

    versehen
    Hatten wir bereits:

    RodFromGermany schrieb:

    VB.NET-Quellcode

    1. Dim file = "c:\temp\bla\xxx.yyy"
    2. Dim fi = New IO.FileInfo(file)
    3. Dim file2 = fi.DirectoryName & "\" & IO.Path.GetFileNameWithoutExtension(file) & ".txt"
    Nur eben nicht Dim file, sondern

    VB.NET-Quellcode

    1. For Each file in DA_WO_SIE_ALLE_GELISTET_SIND
    2. ' was tun
    3. Next
    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!

    VB.NET-Quellcode

    1. For Each File In ListBox1.Items
    2. Dim fi = New IO.FileInfo(ListBox1.SelectedItem)
    3. Dim file2 = fi.DirectoryName & "\" & IO.Path.GetFileNameWithoutExtension(File) & ".txt"
    4. ListBox3.Items.Add(file2)
    5. Next


    So funktioniert es. Vielen Herzlichen Dank !
    was jetzt noch dringend angeraten wäre, deine VisualStudio-Einstellungen zu korrigieren.
    So wie du derzeit programmierst, kannst du fast nicht erlernen, Datentypen zu unterscheiden, und zweckdienlich einzusetzen.

    Nun besteht OOP-Programmieren aber eiglich aus nix annerem als aus zweckdienlicher Verwendung der verschiedenen Datentypen.

    Also Visual Studio - Empfohlene Einstellungen - Must-Do - no excuses