kann ich den einfach wieder mit
[autoit]$titel = _FileListToArray($pfad,"*.mp3",1)
[/autoit]
neu benennen oder muss ich den erst wieder irgendwie löschen und neu erstellen?=)
kann ich den einfach wieder mit
[autoit]$titel = _FileListToArray($pfad,"*.mp3",1)
[/autoit]
neu benennen oder muss ich den erst wieder irgendwie löschen und neu erstellen?=)
also bei dem pfad stimmt eig alles
aber bei $length1 kommt erst die länge vom ersten titel in dem ordner, dann ne 0 und dann gibts den fehler ![]()
das müsste ich jetzt überall ändern
ich finde das so übersichtlicher, wenn der backslash schon in $pfad drin ist
außerdem habe ich den backslash auch angehängt, siehe zeile 208
Hey Leute
ich will meinen Musikplayer noch etwas benutzerfreundlicher machen und dafür die "Musikpfad auswählen" Funktion einbauen;)
jetzt bekomme ich aber eine Fehlermeldung, die ich nicht versteh...
Ich hoffe ihr könnt mir helfen;)
(Damit nicht noch ein fehler kommt müsst ihr einen Ordner "Music" im gleichen Verzeichnis erstellen;))
Script:
#include <Sound.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
;~ $pfadzwischen = FileSelectFolder("Musikordner auswählen","")
[/autoit] [autoit][/autoit] [autoit]Global $pfad = @ScriptDir&"\Music\"
Global $titel = _FileListToArray($pfad,"*.mp3",1)
If IsArray($titel) = 0 Then
MsgBox(0,"ERROR","In dem ausgewählten Verzeichnis befinden sich keine .mp3 Dateien")
Exit
EndIf
Global $titelnummer = 1
Global $sound
Global $volume = 100
Global $titelgui = "Music Player - " & $titel[$titelnummer]
Global $size = UBound($titel)
Global $var = 1
Global $balken
Global $shuffle = 1
Dim $groessetitel[$size]
Dim $listitem[$size]
Dim $string
Dim $length[5]
SoundSetWaveVolume($volume)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]GUICreate($titelgui,500,500)
$B1 = GUICtrlCreateButton("<",10,10,50,50)
$B2 = GUICtrlCreateButton(">",70,10,50,50)
$B3 = GUICtrlCreateButton("+",130,10,50,50)
$B4 = GUICtrlCreateButton("-",190,10,50,50)
$B5 = GUICtrlCreateButton("| |",250,10,50,50)
$B6 = GUICtrlCreateButton("Musik auswählen",310,10,110,50)
$L1 = GUICtrlCreateLabel("Volume: "&$volume&"%",10,70)
$L2 = GUICtrlCreateLabel("Titelanzahl: "&$size-1,120,70)
$L3 = GUICtrlCreateLabel("Aktueller Titel: "&$titelnummer,230,70)
$P = GUICtrlCreateProgress(10,100,480,20)
$list = GUICtrlCreateListView("Nr.|Titel |Größe|Länge",10,130,480,360)
GUISetState()
getgroesse()
listefuellen()
play($titelnummer)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $B1
vorher()
Case $msg = $B2
nachher()
Case $msg = $B3
lauter()
Case $msg = $B4
leiser()
Case $msg = $B5
playpause()
Case $msg = $B6
pfadaendern()
EndSelect
For $i=1 To $size-1
Switch $msg
Case $listitem[$i]
anderer($i)
EndSwitch
Next
titelende()
setbalken()
WEnd
Func play($nummer)
$sound = _SoundOpen($pfad&$titel[$nummer])
_SoundPlay($sound, 0)
EndFunc
Func vorher()
If $titelnummer >= 2 Then
_SoundClose($sound)
$titelvorher = $titelgui
$titelnummer = $titelnummer - 1
play($titelnummer)
$titelnachher = "Music Player - " & $titel[$titelnummer]
WinSetTitle($titelvorher,"",$titelnachher)
$titelgui = $titelnachher
GUICtrlSetData($L3,"Aktueller Titel: "&$titelnummer)
Else
_SoundClose($sound)
$titelvorher = $titelgui
$titelnummer = $size-1
play($titelnummer)
$titelnachher = "Music Player - " & $titel[$titelnummer]
WinSetTitle($titelvorher,"",$titelnachher)
$titelgui = $titelnachher
GUICtrlSetData($L3,"Aktueller Titel: "&$titelnummer)
EndIf
EndFunc
Func nachher()
If $titelnummer <= $size-2 Then
_SoundClose($sound)
$titelvorher = $titelgui
$titelnummer = $titelnummer + 1
play($titelnummer)
$titelnachher = "Music Player - " & $titel[$titelnummer]
WinSetTitle($titelvorher,"",$titelnachher)
$titelgui = $titelnachher
GUICtrlSetData($L3,"Aktueller Titel: "&$titelnummer)
Else
_SoundClose($sound)
$titelvorher = $titelgui
$titelnummer = 1
play($titelnummer)
$titelnachher = "Music Player - " & $titel[$titelnummer]
WinSetTitle($titelvorher,"",$titelnachher)
$titelgui = $titelnachher
GUICtrlSetData($L3,"Aktueller Titel: "&$titelnummer)
EndIf
EndFunc
Func lauter()
If $volume < 100 Then
$volume = $volume + 10
EndIf
SoundSetWaveVolume($volume)
GUICtrlSetData($L1,"Volume: "&$volume&"%")
EndFunc
Func leiser()
If $volume > 0 Then
$volume = $volume - 10
EndIf
SoundSetWaveVolume($volume)
GUICtrlSetData($L1,"Volume: "&$volume&"%")
EndFunc
Func playpause()
If $var = 1 Then
_SoundPause($sound)
GUICtrlSetData($B5,"|>")
$var = $var*-1
Else
_SoundResume($sound)
GUICtrlSetData($B5,"| |")
$var = $var*-1
EndIf
EndFunc
Func listefuellen()
For $i=1 To $size-1
$length1 = _SoundLength($pfad&$titel[$i])
$length2 = StringSplit($length1,":")
$length = $length2[2]&":"&$length2[3]
$listitem[$i] = GUICtrlCreateListViewItem($i&"|"&$titel[$i]&"|"&$groessetitel[$i]&"|"&$length,$list)
Next
EndFunc
Func getgroesse()
For $i=1 To $size-1
$groessetitel[$i] = FileGetSize($pfad&$titel[$i])/1000000
$groessetitel[$i] = Round($groessetitel[$i],2)
Next
EndFunc
Func anderer($anderer)
_SoundClose($sound)
$titelvorher = $titelgui
play($anderer)
$titelnachher = "Music Player - " & $titel[$anderer]
WinSetTitle($titelvorher,"",$titelnachher)
GUICtrlSetData($L3,"Aktueller Titel: "&$anderer)
$titelgui = "Music Player - " & $titel[$anderer]
EndFunc
Func setbalken()
$length = _SoundLength($sound)
$pos = _SoundPos($sound)
$string1 = StringSplit($pos,":")
$string2 = StringSplit($length,":")
$lengthrichtig = $string2[2]*60+$string2[3]
$posrichtig = $string1[2]*60+$string1[3]
$balken = $posrichtig/$lengthrichtig*100
GUICtrlSetData($P,$balken)
EndFunc
Func titelende()
If _SoundPos($sound) = _SoundLength($sound) Then
nachher()
EndIf
EndFunc
Func pfadaendern()
_SoundClose($sound)
_GUICtrlListView_DeleteAllItems($list)
$pfadzwischen = FileSelectFolder("Musikordner auswählen","")
$pfad = $pfadzwischen&"\"
listefuellen()
EndFunc
Fehler(erscheint wenn man die neue Musik ausgewählt hat!):
>"C:\Program Files\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "D:\AutoIt Testplatz\MUSIXPLAYER\Soundplayer 2.0.au3"
D:\AutoIt Testplatz\MUSIXPLAYER\Soundplayer 2.0.au3 (165) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
$length = $length2[2]&":"&$length2[3]
$length = ^ ERROR
>Exit code: 1 Time: 17.061
Hey Leute
ich wollte allen Neueinsteigern mal unseren Youtube Channel vorstellen.
Hier ist der Link
Es geht hauptsächlich um Schleifen und Verzweigungen.
Schauts euch einfach mal an;)
Grüße
DFPWare
hey leute für die fehlenden zeilenumbrüche kann er nichts das liegt an seinem browser, das gleiche problem hatte ich auch ![]()
versuchs mal mit firefox damit klappts dann auch;)
zu kompliziert;)
bei deinem beispiel wird die ini ausgelesen und dann das gleiche wieder reingeschrieben;)
machs doch einfach wie von Twodollarbillie vorgeschlagen:)
also ich komm mit meinem vierdreiviertelfinger-tippen gut klar ![]()
ich hab 6500/sek
hab nen intel i3 in meinem laptop;)
mit win7 falls das wichtig is oO
das programm finde ich sinnvoll weil man merkt wie sinnlos lotto is
Jo herzlichen glückwunsch auch von meiner seite;)
wie alt biste denn geworden?=)
ja heute siehts wirklich besser aus;)
aber den ersten lol smiley könnte man hier auch mal einfügen ![]()
Hey Leute
ich habe mal einen Musik Player gemacht, bei dem man den Pfad beim Programmstart auswählen kann
dazu habe ich eine gui gemacht(den zweiten radiobutton bitte aussenvor lassen, das kommt noch ;))
diese gui soll mit winkill oder auch winclose bei dem start des hauptfensters geschlossen werden!
das klappt jedoch nicht, es wird erst die liste gefüllt und dann werden beide fenster geschlossen
könnt ihr mir helfen?
danke
DFPWare
#include <Sound.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
GUICreate("Pfad auswählen",400,400)
$ok = GUICtrlCreateButton("OK",110,350,135,40)
$cancel = GUICtrlCreateButton("Cancel",255,350,135,40)
$radio1 = GUICtrlCreateRadio("Pfad auswählen",10,10)
$radio2 = GUICtrlCreateRadio("Alten Pfad behalten",10,50) ;<<<=====================================ERSTMAL#AUSLASSEN!!!!
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $cancel
Exit
Case $GUI_EVENT_CLOSE
Exit
Case $ok
$pfadzwischen = FileSelectFolder("Musikordner auswählen","")
MsgBox(0,"",$pfadzwischen)
ExitLoop
EndSwitch
WEnd
Global $pfad = $pfadzwischen&"\"
Global $titel = _FileListToArray($pfad,"*.mp3",1)
If IsArray($titel) = 0 Then
MsgBox(0,"ERROR","In dem ausgewählten Verzeichnis befinden sich keine .mp3 Dateien")
Exit
EndIf
Global $titelnummer = 1
Global $sound
Global $volume = 100
Global $titelgui = "Music Player - " & $titel[$titelnummer]
Global $size = UBound($titel)
Global $var = 1
Global $balken
Global $shuffle = 1
Dim $groessetitel[$size]
Dim $listitem[$size]
Dim $string
Dim $length[5]
SoundSetWaveVolume($volume)
[/autoit] [autoit][/autoit] [autoit]WinKill("Pfad auswählen") ;<<<====================================================PROBLEM!!!!!! alternativ WinClose
[/autoit] [autoit][/autoit] [autoit]GUICreate($titelgui,500,500)
$B1 = GUICtrlCreateButton("<",10,10,50,50)
$B2 = GUICtrlCreateButton(">",70,10,50,50)
$B3 = GUICtrlCreateButton("+",130,10,50,50)
$B4 = GUICtrlCreateButton("-",190,10,50,50)
$B5 = GUICtrlCreateButton("| |",250,10,50,50)
$L1 = GUICtrlCreateLabel("Volume: "&$volume&"%",10,70)
$L2 = GUICtrlCreateLabel("Titelanzahl: "&$size-1,120,70)
$L3 = GUICtrlCreateLabel("Aktueller Titel: "&$titelnummer,230,70)
$P = GUICtrlCreateProgress(10,100,480,20)
$list = GUICtrlCreateListView("Nr.|Titel |Größe|Länge",10,130,480,360)
GUISetState()
getgroesse()
listefuellen()
play($titelnummer)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $B1
vorher()
Case $msg = $B2
nachher()
Case $msg = $B3
lauter()
Case $msg = $B4
leiser()
Case $msg = $B5
playpause()
EndSelect
For $i=1 To $size-1
Switch $msg
Case $listitem[$i]
anderer($i)
EndSwitch
Next
titelende()
setbalken()
WEnd
Func play($nummer)
$sound = _SoundOpen($pfad&$titel[$nummer])
_SoundPlay($sound, 0)
EndFunc
Func vorher()
If $titelnummer >= 2 Then
_SoundClose($sound)
$titelvorher = $titelgui
$titelnummer = $titelnummer - 1
play($titelnummer)
$titelnachher = "Music Player - " & $titel[$titelnummer]
WinSetTitle($titelvorher,"",$titelnachher)
$titelgui = $titelnachher
GUICtrlSetData($L3,"Aktueller Titel: "&$titelnummer)
Else
_SoundClose($sound)
$titelvorher = $titelgui
$titelnummer = $size-1
play($titelnummer)
$titelnachher = "Music Player - " & $titel[$titelnummer]
WinSetTitle($titelvorher,"",$titelnachher)
$titelgui = $titelnachher
GUICtrlSetData($L3,"Aktueller Titel: "&$titelnummer)
EndIf
EndFunc
Func nachher()
If $titelnummer <= $size-2 Then
_SoundClose($sound)
$titelvorher = $titelgui
$titelnummer = $titelnummer + 1
play($titelnummer)
$titelnachher = "Music Player - " & $titel[$titelnummer]
WinSetTitle($titelvorher,"",$titelnachher)
$titelgui = $titelnachher
GUICtrlSetData($L3,"Aktueller Titel: "&$titelnummer)
Else
_SoundClose($sound)
$titelvorher = $titelgui
$titelnummer = 1
play($titelnummer)
$titelnachher = "Music Player - " & $titel[$titelnummer]
WinSetTitle($titelvorher,"",$titelnachher)
$titelgui = $titelnachher
GUICtrlSetData($L3,"Aktueller Titel: "&$titelnummer)
EndIf
EndFunc
Func lauter()
If $volume < 100 Then
$volume = $volume + 10
EndIf
SoundSetWaveVolume($volume)
GUICtrlSetData($L1,"Volume: "&$volume&"%")
EndFunc
Func leiser()
If $volume > 0 Then
$volume = $volume - 10
EndIf
SoundSetWaveVolume($volume)
GUICtrlSetData($L1,"Volume: "&$volume&"%")
EndFunc
Func playpause()
If $var = 1 Then
_SoundPause($sound)
GUICtrlSetData($B5,"|>")
$var = $var*-1
Else
_SoundResume($sound)
GUICtrlSetData($B5,"| |")
$var = $var*-1
EndIf
EndFunc
Func listefuellen()
For $i=1 To $size-1
$length1 = _SoundLength($pfad&$titel[$i])
$length2 = StringSplit($length1,":")
$length = $length2[2]&":"&$length2[3]
$listitem[$i] = GUICtrlCreateListViewItem($i&"|"&$titel[$i]&"|"&$groessetitel[$i]&"|"&$length,$list)
Next
EndFunc
Func getgroesse()
For $i=1 To $size-1
$groessetitel[$i] = FileGetSize($pfad&$titel[$i])/1000000
$groessetitel[$i] = Round($groessetitel[$i],2)
Next
EndFunc
Func anderer($anderer)
_SoundClose($sound)
$titelvorher = $titelgui
play($anderer)
$titelnachher = "Music Player - " & $titel[$anderer]
WinSetTitle($titelvorher,"",$titelnachher)
GUICtrlSetData($L3,"Aktueller Titel: "&$anderer)
$titelgui = "Music Player - " & $titel[$anderer]
EndFunc
Func setbalken()
$length = _SoundLength($sound)
$pos = _SoundPos($sound)
$string1 = StringSplit($pos,":")
$string2 = StringSplit($length,":")
$lengthrichtig = $string2[2]*60+$string2[3]
$posrichtig = $string1[2]*60+$string1[3]
$balken = $posrichtig/$lengthrichtig*100
GUICtrlSetData($P,$balken)
EndFunc
Func titelende()
If _SoundPos($sound) = _SoundLength($sound) Then
nachher()
EndIf
EndFunc
wäre statt
[autoit]"{ENTER}"
[/autoit][autoit]@CRLF
[/autoit]nich besser?
jap danke;)
Cooles Spiel;)
siehe Screenshot;)
ja okay ich hab gemogelt;)
funktioniert immer noch nicht-.-
es werden immer nur die letzten beiden einträge in der liste angezeigt-.-
danke;)
übrigens lag das wirklich an safari oO
okay ich versuchs;)
können wir zurück zum problem kommen?:D
das funktioniert bei mir nicht-.-
bei mir kommt dann sowas wie oben zu sehen ist raus-.-