Uit listbox mp3 afspelen

Status
Niet open voor verdere reacties.
ik kan wel de file.length in de code invulllen ipv de file.fullname
Code:
    Private Sub album1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ControlBox = False
        PictureBox2.Image = New Bitmap(Application.StartupPath + "\hoesjes\1.jpg")
        For Each file As IO.FileInfo In New IO.DirectoryInfo(Application.StartupPath + "\albums\1").GetFiles("*.mp3")
            Dim lvi As New ListViewItem
            lvi.Text = file.Name 'Alleen bestandsnaam als item tekst
            lvi.Tag = file.FullName 'Volledige pad opslaan in de Tag property. Elk item heeft zn eigen Tag
            ListView1.Items.Add(lvi)
        Next
    End Sub

kan ik bovenstaande code niet gebruiken om de path naam te onthouden en deze gebruiken voor het geselecteerde nummer te exporteren? want de path naam moet die ergens opslaan omdat hij die gebruikt met afspelen dan zou ik hem toch in principe ook kunnen gebruiken voor de export
 
Ja, dat zou als het goed is ook kunnen. Ik zou zeggen: test het eens.
Maar het pad in een nieuwe kolom kan ook handig zijn.

dannydaboy zei:
ik kan wel de file.length in de code invulllen ipv de file.fullname
Waar invullen?
 
de bovenstaande code
Code:
lvi.Tag = file.FullName 'Volledige pad opslaan in de Tag property. Elk item heeft zn eigen Tag

kan ik ook

Code:
lvi.Tag = file.length 'Volledige pad opslaan in de Tag property. Elk item heeft zn eigen Tag

van maken.

hoe krijg ik die tweede kolom gevult met het volledige pad?
wil niet echt lukken
 
Als je een pad gaat toewijzen aan de tag, kun je dat beter gelijk doen als het bestand wordt ingelezen.

Om het pad in de tweede kolom toe te voegen, gebruik je dit:

[CPP]ListViewNaam.Items(0).SubItems(1).Text = "Pad"[/CPP]

Ook dit kun je beter doen als het bestand wordt ingelezen.
 
de code die je gaf krijg ik niet werkend ik heb nu de volgende code gebruikt

Code:
ListView1.Items.Add(Application.StartupPath + "\albums\1")

die heb ik hier geplakt

Code:
    Private Sub album1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ControlBox = False
        PictureBox2.Image = New Bitmap(Application.StartupPath + "\hoesjes\1.jpg")
        For Each file As IO.FileInfo In New IO.DirectoryInfo(Application.StartupPath + "\albums\1").GetFiles("*.mp3")
            Dim lvi As New ListViewItem
            lvi.Text = file.Name 'Alleen bestandsnaam als item tekst
            lvi.Tag = file.FullName 'Volledige pad opslaan in de Tag property. Elk item heeft zn eigen Tag
            ListView1.Items.Add(lvi)
            [COLOR="red"]ListView1.Items.Add(Application.StartupPath + "\albums\1")[/COLOR]
        Next
    End Sub

ze komen nu wel erin te staan maar samen bij de nummers in de eerste colum dus. Hoe krijg ik deze in de tweede column en is het mogelijk deze onzchtbaar te maken voor de gebruiker?
 
Sorry, voeg dit maar toe:

[CPP]lvi.SubItems.Add(Application.StartupPath + "\albums\1")[/CPP]

Dat wordt dan dit:

[CPP] Private Sub album1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ControlBox = False
PictureBox2.Image = New Bitmap(Application.StartupPath + "\hoesjes\1.jpg")
For Each file As IO.FileInfo In New IO.DirectoryInfo(Application.StartupPath + "\albums\1").GetFiles("*.mp3")
Dim lvi As New ListViewItem
lvi.Text = file.Name 'Alleen bestandsnaam als item tekst
lvi.Tag = file.FullName 'Volledige pad opslaan in de Tag property. Elk item heeft zn eigen Tag
lvi.SubItems.Add(Application.StartupPath + "\albums\1")
ListView1.Items.Add(lvi)
Next
End Sub[/CPP]

Maar als je dat niet wil (je wil het verbergen?), kun je natuurlijk ook gewoon de Tag gebruiken. Dat is in jouw geval het beste :)
 
dat laatste deel van die tag snap ik niet helemaal. :S

hoe kan ik die getoonde padnaam nu gebruiken voor het geselecteerde nummer te exporteren?

sorry voor de vragen
 
Werkt de code die ik gaf wel? Dan kun je die tag vergeten.

dannydaboy zei:
hoe kan ik die getoonde padnaam nu gebruiken voor het geselecteerde nummer te exporteren?

Je wil toch het nummer (het geselecteerde nummer) kopieëren (ofwel exporteren)?
Dan heb je toch het pad nodig?

Dat pad neem je dan zo:

[cpp]Dim Pad As String = ListView1.SelectedItems.Item(0).SubItems(1).Text[/cpp]
 
Laatst bewerkt:
de code werkt ik zie het pad in de viewlist. hoe kan ik dat pas nu uitlezen en exporteren?

want ik snap niet hoe ik dat pad kan uitlezen.
Code:
        Dim open As New FolderBrowserDialog
        If open.ShowDialog = DialogResult.OK Then
            My.Computer.FileSystem.CopyDirectory( _
            [COLOR="red"]Application.StartupPath & "\albums\2[/COLOR]", _
            open.SelectedPath, _
            Microsoft.VisualBasic.FileIO.UIOption.AllDialogs, _
            Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
        End If
    End Sub
de rode tekst in de code zou dan het geselecteerde item moeten zijn
 
Zo dan, hè? :)

[CPP] Dim open As New FolderBrowserDialog
If open.ShowDialog = DialogResult.OK Then
My.Computer.FileSystem.CopyDirectory( _
ListView1.SelectedItems.Item(0).SubItems(1).Text, _
open.SelectedPath, _
Microsoft.VisualBasic.FileIO.UIOption.AllDialogs, _
Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
End If
End Sub[/CPP]
 
Tip of the day voor jullie:
Als je gebruikt maakt van VB/VS 2010, dan zijn underscores (_) niet nodig om een code regel verder te laten gaan op de volgende regel, op enkele uitzonderingen na.
 
de code voor het exporteren werkt niet helemaal.

Code:
Public Class album1

    Private Sub album1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ControlBox = False
        PictureBox2.Image = New Bitmap(Application.StartupPath + "\hoesjes\1.jpg")
        For Each file As IO.FileInfo In New IO.DirectoryInfo(Application.StartupPath + "\albums\1").GetFiles("*.mp3")
            Dim lvi As New ListViewItem
            lvi.Text = file.Name 'Alleen bestandsnaam als item tekst
            lvi.Tag = file.FullName 'Volledige pad opslaan in de Tag property. Elk item heeft zn eigen Tag
            lvi.SubItems.Add(file.FullName)
            ListView1.Items.Add(lvi)
        Next
    End Sub

    Private Sub PictureBox1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
        Albums.Show()
        Me.Close()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim open As New FolderBrowserDialog
        If open.ShowDialog = DialogResult.OK Then
            My.Computer.FileSystem.CopyDirectory( _
            Application.StartupPath & "\albums\1", _
            open.SelectedPath, _
            Microsoft.VisualBasic.FileIO.UIOption.AllDialogs, _
            Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
        End If
    End Sub

    Private Sub Label7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label7.Click
        Pc_info.Show()
    End Sub

    Private Sub ListView1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.Click
        AxWindowsMediaPlayer1.URL = ListView1.SelectedItems(0).Tag
        Label2.Text = ListView1.SelectedItems(0).Text
    End Sub
    Private Sub PictureBox7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox7.Click
        Dim afsluiten As Integer
        afsluiten = MsgBox("wil je echt afsluiten?", vbDefaultButton2 + vbYesNo, "Waarschuwing")
        If afsluiten = vbYes Then
            End
        Else

        End If
    End Sub

    Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll
        AxWindowsMediaPlayer1.settings.volume = TrackBar1.Value
        Label10.Text = TrackBar1.Value

    End Sub

   [COLOR="red"] Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim open As New FolderBrowserDialog
        If open.ShowDialog = DialogResult.OK Then
            My.Computer.FileSystem.CopyDirectory( _
             ListView1.SelectedItems.Item(0).SubItems(1).Text, _
            open.SelectedPath, _
            Microsoft.VisualBasic.FileIO.UIOption.AllDialogs, _
            Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
        End If
    End Sub[/COLOR]
End Class

hij werkt niet omdat hij zeg dat die het pad van de mp3 niet kan vinden. ik heb het pad gecontroleerd maar toch zeg hij dat die hem niet kan vinden. Zou het kunnen zijn omdat het nummer word afgespeeld en zo ja welk commando kan ik dan gebruiken om de file eerst te stoppen en dan te kopieren...
 
Als het pad niet klopt, klopt het pad niet. Dubbelcheck het nog een keer.
En een bestand kopiëren terwijl deze word afgespeeld moet als het goed is gewoon kunnen. Bij knippen niet.

En wil je je controls duidelijke namen geven zodat je direct kan zien wat hun functie is?
Je export button zou je btnExport kunnen noemen.
 
stop commando toegevoegd dmv
Code:
AxWindowsMediaPlayer1.CtControls.stop)'

dit werkt maar ik krijg zodra ik de plejk geselecteerd heb op mijn pc )1 nummer) toch weer de melding `Kan map F:\Muziekcd\MusicMania\MusicMania\bin\Debug\albums\1\013 - Lucille Starr - French Song.mp3 niet vinden.`

Als ik het bovenstaande item kopieer naar de uitvoer box in windows dan speelt hij hem wel af dus het pad is wel goed.

ook heeft het geen zin als ik het naar een ander pad wil kopieren
 
Probeer het pad eens tussen aanhalingstekens te zetten.

Dat kan zo:
Code:
"""" & ListView1.SelectedItems.Item(0).SubItems(1).Text & """"
Of zo:
Code:
Chr(34) & ListView1.SelectedItems.Item(0).SubItems(1).Text & Chr(34)
 
beide opties geprobeerd maar krijg in dit deel

Code:
            My.Computer.FileSystem.CopyDirectory(
           """" & ListView1.SelectedItems.Item(0).SubItems(1).Text & """",
            open.SelectedPath,
            Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
            Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)

ongeldig leesteken en dan geeft hij in de foutmelding geen pad meer op
 
Tip of the day voor jullie:
Als je gebruikt maakt van VB/VS 2010, dan zijn underscores (_) niet nodig om een code regel verder te laten gaan op de volgende regel, op enkele uitzonderingen na.

Ik vind het overzichtelijker om het wel te gebruiken :).
Toch _
bedankt voor je tip.

:P


@dannydaboy,: wat komt hier uit:

[cpp]If System.IO.Directory.Exists(ListView1.SelectedItems.Item(0).SubItems(1).Text) Then MsgBox("Bestaat") Else MsgBox("Bestaat niet!")[/cpp]
?
 
als ik dit

ListView1.SelectedItems.Item(0).SubItems(1).Text

verander naar

If System.IO.Directory.Exists(ListView1.SelectedItems.Item(0).SubItems(1).Text) Then MsgBox("Bestaat") Else MsgBox("Bestaat niet!")

dan start het programma niet op en als ik

If System.IO.Directory.Exists(ListView1.SelectedItems.Item(0).SubItems(1).Text) Then MsgBox("Bestaat") Else MsgBox("Bestaat niet!")

onder de code neerzet(onder Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing))

dan start het programma en als ik dan een nummer selecteer en ik klik op export nummer dan komt het dialoog en als ik dan een map kies dan kopieerd die volgens windows 107 items (terwijl het er maar 100 items zijn) en hij zeg achteraf ook in een msgbox "bestaat"
 
dit is de code. oordeel zelf
Code:
Public Class album1

    Private Sub album1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ControlBox = False
        PictureBox2.Image = New Bitmap(Application.StartupPath + "\hoesjes\1.jpg")
        For Each file As IO.FileInfo In New IO.DirectoryInfo(Application.StartupPath + "\albums\1").GetFiles("*.mp3")
            Dim lvi As New ListViewItem
            lvi.Text = file.Name 'Alleen bestandsnaam als item tekst
            lvi.Tag = file.FullName 'Volledige pad opslaan in de Tag property. Elk item heeft zn eigen Tag
            lvi.SubItems.Add(Application.StartupPath + "\albums\1")
            ListView1.Items.Add(lvi)
        Next
    End Sub

    Private Sub PictureBox1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
        Albums.Show()
        Me.Close()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim open As New FolderBrowserDialog
        If open.ShowDialog = DialogResult.OK Then
            My.Computer.FileSystem.CopyDirectory( _
            Application.StartupPath & "\albums\1", _
            open.SelectedPath, _
            Microsoft.VisualBasic.FileIO.UIOption.AllDialogs, _
            Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
        End If
    End Sub

    Private Sub Label7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label7.Click
        Pc_info.Show()
    End Sub

    Private Sub ListView1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.Click
        AxWindowsMediaPlayer1.URL = ListView1.SelectedItems(0).Tag
        Label2.Text = ListView1.SelectedItems(0).Text
    End Sub
    Private Sub PictureBox7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox7.Click
        Dim afsluiten As Integer
        afsluiten = MsgBox("wil je echt afsluiten?", vbDefaultButton2 + vbYesNo, "Waarschuwing")
        If afsluiten = vbYes Then
            End
        Else

        End If
    End Sub

    Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll
        AxWindowsMediaPlayer1.settings.volume = TrackBar1.Value
        Label10.Text = TrackBar1.Value

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        AxWindowsMediaPlayer1.Ctlcontrols.stop()
        Dim open As New FolderBrowserDialog
        If open.ShowDialog = DialogResult.OK Then
           [COLOR="blue"] My.Computer.FileSystem[/COLOR].[COLOR="red"]CopyDirectory[/COLOR](
             ListView1.SelectedItems.Item(0).SubItems(1).Text,
            open.SelectedPath,
            Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
            Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
        End If
    End Sub

    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
        If CheckBox1.Checked = True Then
            AxWindowsMediaPlayer1.settings.mute = True
        Else
            AxWindowsMediaPlayer1.settings.mute = False
        End If
    End Sub
End Class

waar moet ik de If System.IO.Directory.Exists(ListView1.SelectedItems.Item(0).SubItems(1).Text) Then MsgBox("Bestaat") Else MsgBox("Bestaat niet!") eigenlijk precies invoeren?

rode geselecteerde tekst moet dit niet zijn copyfile?
en de blauwe tekst weg of veranderen denk dat daar ergens de fout zit...
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan