Schönen Abend Community!!
Ich bin seit einigen Stunden an einem kleinen Programm am schreiben und bin schon weit gekommen. Es wird mal ein Musik Player, der mit Hilfe des Windows Media Player AddOn alle möglichen Formate abspielen kann (ich weiß, dass diese Formate vorinstalliert sein müssen, aber ich werde das Programm nur Privat verwenden, höchstens meinen Freunden zeigen).
Ich werde euch mal den Code zeigen, dass ihr mal drüber gucken könnt. Ich weiß das der Code nicht perfekt geschrieben ist und nicht wirklich professionell wirkt... Aber mein "Schnupperkurs", den ich mal über VB 2010 gemacht habe, ist auch ein paar Tage her
Also hier ist der Code:
Spoiler anzeigen
Es ist relativ viel zum lesen, da ich einige interessante Dinge mit eingebaut habe.
Ich hoffe, dass ihr mir ein paar Ratschlöge geben könnt, was ich an dem Code verbessern kann
Schönen Abend noch!
Verschoben und Spoiler eingefügt. ~Trade
Ich bin seit einigen Stunden an einem kleinen Programm am schreiben und bin schon weit gekommen. Es wird mal ein Musik Player, der mit Hilfe des Windows Media Player AddOn alle möglichen Formate abspielen kann (ich weiß, dass diese Formate vorinstalliert sein müssen, aber ich werde das Programm nur Privat verwenden, höchstens meinen Freunden zeigen).
Ich werde euch mal den Code zeigen, dass ihr mal drüber gucken könnt. Ich weiß das der Code nicht perfekt geschrieben ist und nicht wirklich professionell wirkt... Aber mein "Schnupperkurs", den ich mal über VB 2010 gemacht habe, ist auch ein paar Tage her
Also hier ist der Code:
VB.NET-Quellcode
- Option Explicit On
- Imports System.IO
- Public Class Form1
- Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs) Handles Me.FormClosing
- AxWindowsMediaPlayer1.Ctlcontrols.stop()
- End Sub
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Me.Text = "All In One Player"
- End Sub
- Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenBTN.Click
- OpenFileDialog1.FileName = Nothing
- OpenFileDialog1.Multiselect = True
- If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
- For Each Liste As String In OpenFileDialog1.FileNames
- ListBox1.Items.Add(Liste)
- Next
- ListBox1.SelectedIndex = 0
- Timer1.Enabled = True
- AxWindowsMediaPlayer1.Ctlenabled = True
- End If
- Label3.Text = "Anzahl: " _
- & ListBox1.Items.Count
- End Sub
- Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PlayBTN.Click
- If AxWindowsMediaPlayer1.URL = CStr(ListBox1.SelectedItem) Then
- AxWindowsMediaPlayer1.URL = ListBox1.Text
- DurationTimer.Enabled = True
- Me.Text = "All In One Player - " & IO.Path.GetFileNameWithoutExtension(AxWindowsMediaPlayer1.URL)
- End If
- 'Alle Lieder aus der Playlist wiederholen
- If CheckBox2.Checked Then
- Me.AxWindowsMediaPlayer1.URL = ListBox1.Items(ListBox1.SelectedIndex).ToString
- Do Until Me.AxWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsStopped
- Application.DoEvents()
- If Me.AxWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsStopped Then
- If ListBox1.SelectedIndex < ListBox1.Items.Count - 1 Then
- ListBox1.SelectedIndex = ListBox1.SelectedIndex + 1
- Me.AxWindowsMediaPlayer1.URL = ListBox1.Items(ListBox1.SelectedIndex).ToString
- Else
- End If
- End If
- Loop
- End If
- End Sub
- Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StopBTN.Click
- AxWindowsMediaPlayer1.Ctlcontrols.stop()
- Me.Text = "All In One Player"
- Label1.Text = "00:00"
- DurationTimer.Enabled = False
- TrackBar1.Value = 0
- Timer1.Enabled = False
- End Sub
- Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PauseBTN.Click
- AxWindowsMediaPlayer1.Ctlcontrols.pause()
- End Sub
- Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PlayListDEL.Click
- If ListBox1.Items.Count = 0 Then
- Exit Sub
- End If
- If MessageBox.Show(Me, "Willst du die angezeigten Lieder wirklich entfernen?", "Löschen", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) = DialogResult.OK Then
- ListBox1.Items.Clear()
- End If
- Label3.Text = "Anzahl: " _
- & ListBox1.Items.Count
- If WMPLib.WMPPlayState.wmppsPlaying Then
- AxWindowsMediaPlayer1.Ctlcontrols.stop()
- Me.Text = "All In One Player"
- End If
- Timer1.Enabled = False
- AxWindowsMediaPlayer1.Ctlenabled = False
- AxWindowsMediaPlayer1.Ctlcontrols.stop()
- End Sub
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PlayListLOAD.Click
- If Not My.Settings.PlayList Is Nothing Then
- MessageBox.Show(Me, "Du hast noch keine PlayList erstellt!", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error)
- Exit Sub
- End If
- ListBox1.Items.Clear()
- For Each item As String In My.Settings.PlayList
- ListBox1.Items.Add(item)
- Next
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PlayListSAVE.Click
- If ListBox1.Items.Count = 0 Then
- MessageBox.Show(Me, "Füge erst Lieder in die Playlist ein, dann kannst du speichern!", "Negativ", MessageBoxButtons.OK, MessageBoxIcon.Information)
- Exit Sub
- Else
- Dim PlayList As New System.Collections.Specialized.StringCollection
- For Each item As String In ListBox1.Items
- PlayList.Add(item)
- Next
- My.Settings.PlayList = PlayList
- My.Settings.Save()
- MessageBox.Show(Me, "Deine PlayList wurde gespeichert. Beim nächsten Start der Anwendung auf 'Laden' Klicken.", "Gespeichert!", MessageBoxButtons.OK, MessageBoxIcon.Information)
- End If
- End Sub
- Private Sub TrackBar2_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar2.Scroll
- AxWindowsMediaPlayer1.settings.volume = TrackBar2.Value
- Dim trackBarPercentageInteger As Integer = TrackBar2.Value * 100 \ TrackBar2.Maximum
- Label4.Text = String.Format(" {0}%", trackBarPercentageInteger)
- End Sub
- Private Sub ListBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragDrop
- Dim filePaths = CType(e.Data.GetData(DataFormats.FileDrop), String())
- For Each s As String In filePaths
- ListBox1.Items.Add(s)
- Next s
- Label3.Text = "Anzahl: " _
- & ListBox1.Items.Count
- End Sub
- Private Sub ListBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragEnter
- If e.Data.GetDataPresent(DataFormats.FileDrop) Then
- e.Effect = DragDropEffects.Copy
- End If
- Label3.Text = "Anzahl: " _
- & ListBox1.Items.Count
- End Sub
- Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
- End Sub
- Private Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick
- AxWindowsMediaPlayer1.URL = ""
- AxWindowsMediaPlayer1.URL = CStr(ListBox1.SelectedItem)
- AxWindowsMediaPlayer1.URL = ListBox1.Text
- If CheckBox2.Checked Then
- Me.AxWindowsMediaPlayer1.URL = ListBox1.Items(ListBox1.SelectedIndex).ToString
- Do Until Me.AxWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsStopped
- Application.DoEvents()
- If Me.AxWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsStopped Then
- If ListBox1.SelectedIndex < ListBox1.Items.Count - 1 Then
- ListBox1.SelectedIndex = ListBox1.SelectedIndex + 1
- Me.AxWindowsMediaPlayer1.URL = ListBox1.Items(ListBox1.SelectedIndex).ToString
- Else
- End If
- End If
- Loop
- End If
- Timer1.Enabled = True
- DurationTimer.Enabled = True
- Me.Text = "All In One Player - " & IO.Path.GetFileNameWithoutExtension(AxWindowsMediaPlayer1.URL)
- End Sub
- Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
- AxWindowsMediaPlayer1.settings.setMode("loop", True)
- End Sub
- Private Sub Lautlos_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Lautlos.CheckedChanged
- If AxWindowsMediaPlayer1.settings.mute = True Then
- AxWindowsMediaPlayer1.settings.mute = False
- Else
- AxWindowsMediaPlayer1.settings.mute = True
- End If
- End Sub
- Private Sub DurationTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DurationTimer.Tick
- If AxWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsStopped Then
- Label1.Text = "00:00"
- DurationTimer.Enabled = False
- TrackBar1.Value = 0
- End If
- End Sub
- Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
- Timer1.Enabled = True
- AxWindowsMediaPlayer1.Ctlenabled = True
- TrackBar1.Value = 0
- End Sub
- Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- If CheckBox2.Checked And AxWindowsMediaPlayer1.Ctlcontrols.currentPosition >= AxWindowsMediaPlayer1.currentMedia.duration - 1 Then
- If (ListBox1.SelectedIndex + 1) = ListBox1.Items.Count Then
- ListBox1.SelectedIndex = 0
- Else
- ListBox1.SelectedIndex += 1
- End If
- End If
- If AxWindowsMediaPlayer1.Ctlcontrols.currentPosition >= AxWindowsMediaPlayer1.currentMedia.duration - 1 Then
- If (ListBox1.SelectedIndex + 1) = ListBox1.Items.Count Then
- AxWindowsMediaPlayer1.Ctlcontrols.stop()
- TrackBar1.Value = 0
- Else
- ListBox1.SelectedIndex += 1
- End If
- End If
- Label7.Text = " " & AxWindowsMediaPlayer1.currentMedia.durationString
- Label1.Text = " " & AxWindowsMediaPlayer1.Ctlcontrols.currentPositionString
- TrackBar1.Maximum = Format(CDbl(AxWindowsMediaPlayer1.currentMedia.duration), ".00")
- TrackBar1.Value = Format(CDbl(AxWindowsMediaPlayer1.Ctlcontrols.currentPosition), ".00")
- End Sub
- Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll
- AxWindowsMediaPlayer1.Ctlcontrols.currentPosition = TrackBar1.Value
- End Sub
- End Class
Es ist relativ viel zum lesen, da ich einige interessante Dinge mit eingebaut habe.
Ich hoffe, dass ihr mir ein paar Ratschlöge geben könnt, was ich an dem Code verbessern kann
Schönen Abend noch!
Verschoben und Spoiler eingefügt. ~Trade
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Trade“ ()