Mp3 Player von Lied zu Lied wechseln

01/02/2012 21:27 Toasty-man#1
Hallo erstmal ;)

Ich habe da ein problem wie in dem Titel des Threads steht ich habe einen "Mp3 Player erstellt" wenn ich das so nennen darf. Doch ich hab ein problem und zwar man kann mindestens 5 Lieder auswählen über Multiselect von FileOpenDialog, klappt auch alles super außer wenn ich versuche bei den Button's "Back" und "Next" es versuche so einzubauen das wenn man auf "Back" klickt ein Lied zurück kommt und umgekehrt also ich hab jetzt z.B. 2 Lieder das erste ist "Hangover - Taio Cruz" und "Fler - Kein Kommentar"
Ich höre mir gerade "Fler - Kein Kommentar" an aber möchte ein Lied zurück deswegen klicke ich auf Back und komme somit auf "Hangover - Taio Cruz" und halt umgekehrt. Ich henge schon sehr lange an diesem Problem hab auch schon versucht zu gucken ob ich in Google eine Lösung finde aber vergeblich ..
Das Script sieht so aus:
Ich hab mit voller absicht meine Versuche die ich da ausprobiert habe nicht mit reingetan, weil es mir um ehrlich zu sein peinlich erscheint :(

Ich hoffe ihr könnt mir helfen.

Mit Freundlichen Grüßen Toasty-man
01/02/2012 22:25 lolkop#2
du musst dein input ja ohnehin splitten. da FileOpenDialog das ergebnis ja mit | getrennt ausgibt, kannst du ja einfach per StringSplit das ganze in ein arry umwandeln.

nun kannst dur dir ja einfach eine zeiger variable erstellen, welche immer auf den aktuellen track zeigt.

deine next und back buttons bekommen dann als einzige aufgabe jeweils das setzen des zeigers =)
01/02/2012 22:36 Toasty-man#3
Danke schonmal für die Antwort und gesplittet hab ich das ganze ja schon.
Das mit der Zeiger Variable musst du mir nochmal genauer erläutern. Ich verstehe es nicht wirklich :confused:

Edit: Also wie genau soll ich die zeiger variable setzen
01/02/2012 23:25 lolkop#4
die zeigervariable zeigt auf das aktuelle file aus der liste.

hier mal ein beispiel wie man es sehr schön lösen könnte:
Code:
;$files <- array welches die einzelnen mp3 namen enthält
;$dir <- ordner in welchem sich geählte files befinden
;$zeiger <- zeigt auf index vom $files array, welcher gerade aktiv ist (aktuelles lied).
Global $files[1], $dir, $zeiger=0

HotKeySet('{F1}', 'SetFiles')
HotKeySet('{F2}', 'NextFile')
HotKeySet('{F3}', 'LastFile')
HotKeySet('{F4}', 'DisplayFile')
While Sleep(50)
WEnd

Func SetFiles()
	Local $split = StringSplit(FileOpenDialog('Open', @ScriptDir, 'MP3 (*.mp3)', 4), '|')
	If $split[0]=1 Then
		Local $regEx = StringRegExp($split[1], '(.*)\\(.*)', 1)
		$dir = $regEx[0]
		$files[0]=$regEx[1]
	ElseIf $split[0]>0 Then
		$dir = $split[1]
		ReDim $files[$split[0]-1]
		For $i=2 To $split[0]
			$files[$i-2]=$split[$i]
		Next
	EndIf
EndFunc

Func NextFile()
	$zeiger+=1
	If $zeiger>=UBound($files) Then $zeiger=0
EndFunc

Func LastFile()
	$zeiger-=1
	If $zeiger<0 Then $zeiger=UBound($files)-1
EndFunc

Func DisplayFile()
	MsgBox(0, 'Info', 'Aktuelles File: '&$dir&'\'&$files[$zeiger])
EndFunc
01/02/2012 23:39 Toasty-man#5
Ich danke dir *-* Ich werde mir das Beispiel jetzt mal genauer anschauen :D
Bis dann und danke nochmal *-*
Mit Freundlichen Grüßen
Toasty-man