ähm ich habe Folgendes Problem.
Ich habe hier Folgenden Code
Code: Alles auswählen
File$ = OpenFileRequester("Lied auswählen", "c:\","MpegLayer3 (*.mp3)|*.mp3",0,#PB_Requester_MultiSelection)
If NextSelectedFileName() <> ""
While File$
File$ = NextSelectedFileName()
ListID.l = CountGadgetItems(#Playlist)
If File$ <> ""
AddGadgetItem(#Playlist,ListID,File$,0)
EndIf
Wend
Else
ListID.l = CountGadgetItems(#Playlist)
If ListID <> 0
AddGadgetItem(#Playlist,ListID,File$,0)
Else
AddGadgetItem(#Playlist,0,File$,0)
EndIf
EndIf
Danke für jede hilfe
EDIT
Hier mal der ganze Source
Code: Alles auswählen
; PureBasic Visual Designer v3.90 build 1361
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#Playlist
#LOAD
#PLAY
#PAUSE
#RESUME
#STOP
#QUIT
#TIME_Total
#Slash
#TIME_Current
EndEnumeration
;- Audio Constants
;
Enumeration
#AUDIO_ID
EndEnumeration
; BalloonTip Constants
#TOOLTIP_NO_ICON = 0
#TOOLTIP_INFO_ICON = 1
#TOOLTIP_WARNING_ICON = 2
#TOOLTIP_ERROR_ICON = 3
Procedure BalloonTip(WindowID, Gadget, Text$ , Title$, Icon)
ToolTip=CreateWindowEx_(0,"ToolTips_Class32","",#WS_POPUP | #TTS_NOPREFIX | #TTS_BALLOON,0,0,0,0,WindowID,0,GetModuleHandle_(0),0)
SendMessage_(ToolTip,#TTM_SETTIPTEXTCOLOR,GetSysColor_(#COLOR_INFOTEXT),0)
SendMessage_(ToolTip,#TTM_SETTIPBKCOLOR,GetSysColor_(#COLOR_INFOBK),0)
SendMessage_(ToolTip,#TTM_SETMAXTIPWIDTH,0,180)
Balloon.TOOLINFO\cbSize=SizeOf(TOOLINFO)
Balloon\uFlags=#TTF_IDISHWND | #TTF_SUBCLASS
Balloon\hWnd=GadgetID(Gadget)
Balloon\uId=GadgetID(Gadget)
Balloon\lpszText=@Text$
SendMessage_(ToolTip, #TTM_ADDTOOL, 0, Balloon)
If Title$ > ""
SendMessage_(ToolTip, #TTM_SETTITLE, Icon, @Title$)
EndIf
EndProcedure
If OpenWindow(#Window_0, 270, 233, 359, 204, #PB_Window_SizeGadget | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_WindowCentered , "MP3-Player")
;AdvancedGadgetEvents(#True)
If CreateGadgetList(WindowID())
ButtonGadget(#LOAD, 0, 180, 60, 25, "Laden")
BalloonTip(WindowID(), #LOAD, "Musikstück laden", "", #TOOLTIP_NO_ICON)
ListViewGadget(#Playlist, 0, 0, 360, 165)
BalloonTip(WindowID(), #Playlist, "PlayList", "", #TOOLTIP_NO_ICON)
ButtonGadget(#PLAY, 60, 180, 60, 25, "Abspielen")
BalloonTip(WindowID(), #PLAY, "Musikstück abspielen", "", #TOOLTIP_NO_ICON)
ButtonGadget(#PAUSE, 120, 180, 60, 25, "Anhalten")
BalloonTip(WindowID(), #PAUSE, "Musikstück anhalten", "", #TOOLTIP_NO_ICON)
ButtonGadget(#RESUME, 180, 180, 60, 25, "Fortsetzen")
BalloonTip(WindowID(), #RESUME, "Musikstück fortsetzen", "", #TOOLTIP_NO_ICON)
ButtonGadget(#STOP, 240, 180, 60, 25, "Stop")
BalloonTip(WindowID(), #STOP, "Musikstück stoppen", "", #TOOLTIP_NO_ICON)
ButtonGadget(#QUIT, 300, 180, 60, 25, "Beenden")
BalloonTip(WindowID(), #QUIT, "Player Beenden", "", #TOOLTIP_NO_ICON)
TextGadget(#TIME_Total, 55, 165, 45, 15, "00:00:00")
BalloonTip(WindowID(), #TIME_Total, "Zeit Total", "", #TOOLTIP_NO_ICON)
TextGadget(#Slash, 45, 165, 10, 15, "/")
BalloonTip(WindowID(), #Slash, "Slash ? O.o :D ;)", "", #TOOLTIP_NO_ICON)
TextGadget(#TIME_Current, 0, 165, 45, 15, "00:00:00")
BalloonTip(WindowID(), #TIME_Current, "Verstrichene Zeit", "", #TOOLTIP_NO_ICON)
EndIf
w = WindowWidth ()
h = WindowHeight()
Repeat
EventID.l = WindowEvent()
If EventID = #PB_Event_SizeWindow
fx.f = WindowWidth() / w
fy.f = WindowHeight() / h
ResizeGadget(#Playlist, GadgetX(#Playlist)*fx , GadgetY(#Playlist)*fy, GadgetWidth(#Playlist)*fx, GadgetHeight(#Playlist)*fy)
For i=#LOAD To #TIME_Current
ResizeGadget(i, -1 , GadgetY(i)*fy, -1, -1)
Next
w = WindowWidth ()
h = WindowHeight()
EndIf
If EventID = #PB_Event_CloseWindow
Quit.l = 1
EndIf
If EventID = #WM_KEYDOWN
If EventwParam() = #VK_Escape
Quit.l = 1
EndIf
EndIf
If IsAudioZPlaying(#AUDIO_ID) = #False
Delay(25)
EndIf
If IsAudioZPlaying(#AUDIO_ID)
SetGadgetText(#TIME_Current, PositionAudioZTime(Current))
Delay(25)
EndIf
Current.l = GetAudioZState(#AUDIO_ID)
If Current=Total And Play = 1
StopAudioZ(#AUDIO_ID)
FreeAudioZ(#AUDIO_ID)
If CountGadgetItems(#Playlist)=GetGadgetState(#Playlist)
SetGadgetState(#Playlist,0)
Else
SetGadgetState(#Playlist,GetGadgetState(#Playlist)+1)
EndIf
OpenAudioZ(#AUDIO_ID,GetGadgetItemText(#Playlist,GetGadgetState(#Playlist),0))
PlayAudioZ(#AUDIO_ID)
Total.l = GetAudioZLength(#AUDIO_ID)
SetGadgetText(#TIME_Total, PositionAudioZTime(Total))
Play.l = 1
EndIf
If EventID = #PB_Event_Gadget
Select EventGadgetID()
Case #LOAD
File$ = OpenFileRequester("Lied auswählen", "c:\","MpegLayer3 (*.mp3)|*.mp3",0,#PB_Requester_MultiSelection)
If NextSelectedFileName() <> ""
While File$
File$ = NextSelectedFileName()
ListID.l = CountGadgetItems(#Playlist)
If File$ <> ""
AddGadgetItem(#Playlist,ListID,File$,0)
EndIf
Wend
Else
ListID.l = CountGadgetItems(#Playlist)
If ListID <> 0
AddGadgetItem(#Playlist,ListID,File$,0)
Else
AddGadgetItem(#Playlist,0,File$,0)
EndIf
EndIf
Case #QUIT
Quit.l = 1
Case #PLAY
If IsAudioZPlaying(#AUDIO_ID)
MessageRequester("Fehler","Es wird zuzeit noch ein Lied gespielt.")
Else
OpenAudioZ(#AUDIO_ID,GetGadgetItemText(#Playlist,GetGadgetState(#Playlist),0))
PlayAudioZ(#AUDIO_ID)
Total.l = GetAudioZLength(#AUDIO_ID)
SetGadgetText(#TIME_Total, PositionAudioZTime(Total))
EndIf
Play.l = 1
Case #STOP
Play.l = 0
StopAudioZ(#AUDIO_ID)
FreeAudioZ(#AUDIO_ID)
Case #RESUME
Play.l = 1
ResumeAudioZ(#AUDIO_ID)
Case #PAUSE
Play.l = 0
PauseAudioZ(#AUDIO_ID)
Case #Playlist
If #PB_EventType_LeftDoubleClick=EventType()
RemoveGadgetItem(#Playlist,GetGadgetState(#Playlist))
EndIf
EndSelect
EndIf
Until Quit=1
EndIf