Media player (VB.Net)

Status
Niet open voor verdere reacties.

Danielxmovies

Gebruiker
Lid geworden
8 okt 2011
Berichten
300
Hallo,

Ik heb een programmatje in vb gemaakt waarmee ie in de map My Music alle bestanden in een listbox zet en als je dan op een item klikt hem dan afspeelt.

Nu heb ik het probleem dat ie niet alleen mp3's en andere media bestanden er in doet maar ook album foto's
weet iemand hoe ik hem moet filteren?

En weet iemand nu bij een muziekje staat er

C:/Users/Naam/Music/Filename.mp3

Weet iemand hoe ik dit allleen

Filename kan laten worden?

Hier een foto van programma:

x5ed84.jpg
 
Ik noem de variabele voor een bestand even filename.

Code voor het filteren:

[cpp]If filename.EndsWith(".mp3") Or filename.EndsWith(".wav") Or filename.EndsWith(".wma") Then
ListBox1.Items.Add(filename)
End If[/cpp]

Om het pad weg te halen:

[cpp]Dim newfilename As String = IO.Path.GetFileName(filename)[/cpp]
 
Again

Oke nice maar nu zit ik met probleem:

De Axmediaplayer gebruikt de naam van het ding als de URL

Hoe moet ik dat dan doen?

Kijk dit is volledige code:

[CPP]Public Class Form1

Private Sub Me_Load() Handles MyBase.Load
For Each item As String In IO.Directory.GetFiles(My.Computer.FileSystem.SpecialDirectories.MyMusic)
If item.EndsWith(".mp3") Or item.EndsWith(".wav") Or item.EndsWith(".wma") Then
Dim newfilename As String = IO.Path.GetFileName(item)
ListBox1.Items.Add(newfilename)
End If


Next





End Sub






Private Sub ListBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.Click
AxWindowsMediaPlayer1.URL = ListBox1.SelectedItem

End Sub





Private Sub Pause_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
AxWindowsMediaPlayer1.Ctlcontrols.stop()
Button2.Text = "Play"
End Sub

Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
If Button2.Text = "Pause" Then
AxWindowsMediaPlayer1.Ctlcontrols.pause()
Button2.Text = "Play"
Else
AxWindowsMediaPlayer1.Ctlcontrols.play()
Button2.Text = "Pause"
End If


End Sub

Private Sub ListBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.Enter
AxWindowsMediaPlayer1.URL = ListBox1.SelectedItem
Button2.Text = "Pause"
End Sub



Private Sub ListBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ListBox1.KeyDown
AxWindowsMediaPlayer1.URL = ListBox1.SelectedItem
Button2.Text = "Pause"

End Sub

Private Sub ListBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ListBox1.KeyUp
AxWindowsMediaPlayer1.URL = ListBox1.SelectedItem
Button2.Text = "Pause"
End Sub

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

End Sub
End Class[/CPP]

PS: waarom heb je me geblockd op msn
 
Laatst bewerkt:
Als je het allemaal in MyMusic houdt:
[cpp]AxWindowsMediaPlayer1.URL = My.Computer.FileSystem.SpecialDirectories.MyMusic &"\" & ListBox1.SelectedItem[/cpp]

En ik heb je niet geblockt hoor :D, ik ben gewoon niet meer zo vaak online.
 
oke Thankx

OK maar dat had ik al beter opgelost hij speelt nu af en file extensie zie j ook niet.

Maar

Kan ik ook doen als liedje afgelopen is dat het volgende leidje in lijst begint.

en hoe je shuffle moet doen
 
Even een code om je het principe te laten begrijpen:

Ik neem AxePlayer_URL als URL van de player.
[CPP] Dim nowplaying As String = IO.Path.GetFileNameWithoutExtension(AxePlayer_URL)
Dim nowplaying_index As Integer = ListBox1.Items.IndexOf(nowplaying)
If nowplaying_index < ListBox1.Items.Count - 1 Then
AxePlayer_URL = ListBox1.Items.Item(nowplaying_index + 1)
Else
AxePlayer_URL = ListBox1.Items.Item(0)
nowplaying_index = 0
End If[/CPP]

Dit in het Event plaatsen van de player wanneer-ie klaar is met afspelen.


Voor het shuffelen:

Ook in het Event paatsen van de player wanneer-ie klaar is met afspelen:

[CPP]Dim Random As New System.Random
AxePlayer_URL = ListBox1.Items.Item(Random.Next(0, ListBox1.Items.Count))[/CPP]
 
Moet dat dan in timer

Om te controleren of die klaar is hoe doe je het dan.

Heb nu deze code daar


Private Sub Next_Shuffle()
Dim nowplaying As String = IO.Path.GetFileNameWithoutExtension(AxWindowsMediaPlayer1.URL)
Dim nowplaying_index As Integer = ListBox1.Items.IndexOf(nowplaying)
If nowplaying_index < ListBox1.Items.Count - 1 Then
AxWindowsMediaPlayer1.URL = ListBox1.Items.Item(nowplaying_index + 1)
Else
AxWindowsMediaPlayer1.URL = ListBox1.Items.Item(0)
nowplaying_index = 0
End If

If My.Settings.Shuffle = False Then

Else
Dim Random As New System.Random
AxWindowsMediaPlayer1.URL = ListBox1.Items.Item(Random.Next(0, ListBox1.Items.Count))
End If

Maar wanneer moet ik die sub doen.?

Weet je de code om te vinden wanneer die klaar is?
 
[cpp]Private Sub WindowsMediaPlayer1_Change() Handles WindowsMediaPlayer1.PlayStateChange
If WindowsMediaPlayer1.playState = 1 Then
''//gestopt
End If
End Sub[/cpp]

Zoiets, als ik me niet vergis.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan