Besoin d'aide pour ma source
Publié : lun. 22/oct./2007 14:53
Salut tous le monde, voila je cherche à faire un petit player audio dons voici le code source (attention ce n'est pas terminer, c juste un début et il reste encore beaucoup de bugs). Mais je cherche à en corriger un en particulier.
Donc je lance mon player, et je fait un clic droit avec la souris pour pouvoir charger mon fichier. Au moment ou j'ouvre mon OpenFileRequester, je décide d'annuler le chargement de mon fichier, et la je me retrouve avec cette ligne souligner en rouge avec un message du compilateur " Movie filename not found", en plus ca me bloque mon player et impossible de le quitter je suis obliger d'arreter le programe avec l'ide.
Voici la ligne en question :
elle ce trouve dans la partie ou j'utilise mon OpenFileRequester.
Quelqu'un pourrait me dire pourquoi j'ais cette erreur car la je seche.
Pour info j'utilise PureVisionXP, donc certaine ligne sont surement à suprimer pour ceux qui ne l'utilise pas. Merci pour vos réponses.
Code : Tout sélectionner
;/ Created with PureVisionXP v4.03
;/ Mon, 22 Oct 2007 06:26:16
;/ by MetalOS
#MMSYSERR_NOERROR = 0
#MIXER_SHORT_NAME_CHARS = 16
#MIXER_LONG_NAME_CHARS = 64
Structure MIXERCONTROL
cbStruct.l
dwControlID.l
dwControlType.l
fdwControl.l
cMultipleItems.l
szShortName.s[#MIXER_SHORT_NAME_CHARS]
szName.s[#MIXER_LONG_NAME_CHARS]
lMinimum.l
lMaximum.l
reserved.l[10]
EndStructure
;---------Initialisation du module video------------------------------
If InitMovie() = 0
MessageRequester("Erreur", "Impossible d'inisialisé le Média", 0)
End
EndIf
;---------------------------------------------------------------------
;- Global Variables and Constants
Global BubbleTipStyle.l:BubbleTipStyle=0
;- Window Constants
Enumeration 1
#Window_Form1
#Window_Form2
EndEnumeration
#WindowIndex=#PB_Compiler_EnumerationValue
;- Gadget Constants
Enumeration 1
;Window_Form1
#Gadget_Form1_xPureSkin2
#Gadget_Form1_ListViewGadget
#Gadget_Form1_xTransButtonImage7
#Gadget_Form1_xTransButtonImage8
#Gadget_Form1_xTransButtonImage9
#Gadget_Form1_xTransButtonImage10
#Gadget_Form1_xTransButtonImage11
#Gadget_Form1_TrackBar10
#Gadget_Form1_xTransButtonImage12
#Gadget_Form1_xTransButtonImage14
#Gadget_Form1_HyperLink15
;Window_Form2
#Gadget_Form2_Image17
#Gadget_Form2_Text18
#Gadget_Form2_Text19
#Gadget_Form2_Text20
#Gadget_Form2_Button22
#Gadget_Form2_HyperLink23
EndEnumeration
#GadgetIndex=#PB_Compiler_EnumerationValue
;- Image Constants
Enumeration 1
#Image_Form1_xPureSkin2
#Image_Form1_xTransButtonImage7
#Image_Form1_xTransButtonImage8
#Image_Form1_xTransButtonImage9
#Image_Form1_xTransButtonImage10
#Image_Form1_xTransButtonImage11
#Image_Form1_xTransButtonImage12
#Image_Form1_xTransButtonImage13
#Image_Form1_xTransButtonImage14
#Image_Form2_Image17
EndEnumeration
#ImageIndex=#PB_Compiler_EnumerationValue
;- Load Images
If CreateFile(0,PVGadgets_TempDir()+"lecture.bmp")
WriteData(0,?_OPT_Form1_xTransButtonImage7,?_OPT_Form1_xTransButtonImage7End-?_OPT_Form1_xTransButtonImage7)
CloseFile(0)
EndIf
If CreateFile(0,PVGadgets_TempDir()+"precedent.bmp")
WriteData(0,?_OPT_Form1_xTransButtonImage8,?_OPT_Form1_xTransButtonImage8End-?_OPT_Form1_xTransButtonImage8)
CloseFile(0)
EndIf
If CreateFile(0,PVGadgets_TempDir()+"suivant.bmp")
WriteData(0,?_OPT_Form1_xTransButtonImage9,?_OPT_Form1_xTransButtonImage9End-?_OPT_Form1_xTransButtonImage9)
CloseFile(0)
EndIf
If CreateFile(0,PVGadgets_TempDir()+"stop.bmp")
WriteData(0,?_OPT_Form1_xTransButtonImage10,?_OPT_Form1_xTransButtonImage10End-?_OPT_Form1_xTransButtonImage10)
CloseFile(0)
EndIf
If CreateFile(0,PVGadgets_TempDir()+"pause.bmp")
WriteData(0,?_OPT_Form1_xTransButtonImage11,?_OPT_Form1_xTransButtonImage11End-?_OPT_Form1_xTransButtonImage11)
CloseFile(0)
EndIf
If CreateFile(0,PVGadgets_TempDir()+"quitter.bmp")
WriteData(0,?_OPT_Form1_xTransButtonImage12,?_OPT_Form1_xTransButtonImage12End-?_OPT_Form1_xTransButtonImage12)
CloseFile(0)
EndIf
If CreateFile(0,PVGadgets_TempDir()+"agrandir.bmp")
WriteData(0,?_OPT_Form1_xTransButtonImage13,?_OPT_Form1_xTransButtonImage13End-?_OPT_Form1_xTransButtonImage13)
CloseFile(0)
EndIf
If CreateFile(0,PVGadgets_TempDir()+"reduire.bmp")
WriteData(0,?_OPT_Form1_xTransButtonImage14,?_OPT_Form1_xTransButtonImage14End-?_OPT_Form1_xTransButtonImage14)
CloseFile(0)
EndIf
CatchImage(#Image_Form2_Image17,?_OPT_Form2_Image17)
DataSection
_OPT_Form1_xPureSkin2:IncludeBinary "Skins\interface.pvs"
_OPT_Form1_xTransButtonImage7:IncludeBinary "Images\lecture.bmp"
_OPT_Form1_xTransButtonImage7End:
_OPT_Form1_xTransButtonImage8:IncludeBinary "Images\precedent.bmp"
_OPT_Form1_xTransButtonImage8End:
_OPT_Form1_xTransButtonImage9:IncludeBinary "Images\suivant.bmp"
_OPT_Form1_xTransButtonImage9End:
_OPT_Form1_xTransButtonImage10:IncludeBinary "Images\stop.bmp"
_OPT_Form1_xTransButtonImage10End:
_OPT_Form1_xTransButtonImage11:IncludeBinary "Images\pause.bmp"
_OPT_Form1_xTransButtonImage11End:
_OPT_Form1_xTransButtonImage12:IncludeBinary "Images\quitter.bmp"
_OPT_Form1_xTransButtonImage12End:
_OPT_Form1_xTransButtonImage13:IncludeBinary "Images\agrandir.bmp"
_OPT_Form1_xTransButtonImage13End:
_OPT_Form1_xTransButtonImage14:IncludeBinary "Images\reduire.bmp"
_OPT_Form1_xTransButtonImage14End:
_OPT_Form2_Image17:IncludeBinary "Images\Logo.bmp"
EndDataSection
Procedure.l MIXER_getVolume(Type.l)
Protected dwVolume.l, result.l, hMixer
Protected ml.MIXERLINE, mlc.MIXERLINECONTROLS,mc.MIXERCONTROL,mcd.MIXERCONTROLDETAILS,mcdu.MIXERCONTROLDETAILS_UNSIGNED
RtlZeroMemory_(ml,SizeOf(MIXERLINE))
RtlZeroMemory_(mlc,SizeOf(MIXERLINECONTROLS))
RtlZeroMemory_(mcd,SizeOf(MIXERCONTROLDETAILS))
RtlZeroMemory_(mcdu,SizeOf(MIXERCONTROLDETAILS_UNSIGNED))
result = mixerOpen_(@hMixer, 0, 0, 0, #MIXER_OBJECTF_HMIXER)
If result = #MMSYSERR_NOERROR
ml\cbStruct = SizeOf(MIXERLINE)
ml\dwComponentType = Type
result = mixerGetLineInfo_(hMixer, @ml, #MIXER_GETLINEINFOF_COMPONENTTYPE)
If result = #MMSYSERR_NOERROR
mlc\cbStruct = SizeOf(MIXERLINECONTROLS)
mlc\dwLineID = ml\dwLineID
mlc\dwControlType = #MIXERCONTROL_CONTROLTYPE_VOLUME
mlc\cControls = 1
mlc\pamxctrl = @mc
mlc\cbmxctrl = SizeOf(MIXERCONTROL)
result = mixerGetLineControls_(hMixer, @mlc, #MIXER_GETLINECONTROLSF_ONEBYTYPE)
If result = #MMSYSERR_NOERROR
mcd\cbStruct = SizeOf(MIXERCONTROLDETAILS)
mcd\dwControlID = mc\dwControlID;
mcd\paDetails = @mcdu
mcd\cbDetails = SizeOf(MIXERCONTROLDETAILS_UNSIGNED)
mcd\cChannels = 1
result = mixerGetControlDetails_(hMixer, @mcd, #MIXER_SETCONTROLDETAILSF_VALUE)
If result = #MMSYSERR_NOERROR
dwVolume = mcdu\dwValue
EndIf
EndIf
EndIf
EndIf
ProcedureReturn dwVolume
EndProcedure
; newvolume va de 0 = 65535
Procedure MIXER_setVolume(Type.l, newvolume.l)
Protected ml.MIXERLINE, mlc.MIXERLINECONTROLS,mc.MIXERCONTROL,mcd.MIXERCONTROLDETAILS,mcdu.MIXERCONTROLDETAILS_UNSIGNED
RtlZeroMemory_(ml,SizeOf(MIXERLINE))
RtlZeroMemory_(mlc,SizeOf(MIXERLINECONTROLS))
RtlZeroMemory_(mcd,SizeOf(MIXERCONTROLDETAILS))
RtlZeroMemory_(mcdu,SizeOf(MIXERCONTROLDETAILS_UNSIGNED))
result = mixerOpen_(@hMixer, 0, 0, 0, #MIXER_OBJECTF_HMIXER)
If result = #MMSYSERR_NOERROR
ml\cbStruct = SizeOf(MIXERLINE)
ml\dwComponentType = Type
result = mixerGetLineInfo_(hMixer, @ml, #MIXER_GETLINEINFOF_COMPONENTTYPE)
If result = #MMSYSERR_NOERROR
mlc\cbStruct = SizeOf(MIXERLINECONTROLS)
mlc\dwLineID = ml\dwLineID
mlc\dwControlType = #MIXERCONTROL_CONTROLTYPE_VOLUME
mlc\cControls = 1
mlc\pamxctrl = @mc
mlc\cbmxctrl = SizeOf(MIXERCONTROL)
result = mixerGetLineControls_(hMixer, @mlc, #MIXER_GETLINECONTROLSF_ONEBYTYPE)
If result = #MMSYSERR_NOERROR
mcdu\dwValue = newvolume
mcd\cbStruct = SizeOf(MIXERCONTROLDETAILS)
mcd\dwControlID = mc\dwControlID
mcd\paDetails = @mcdu
mcd\cbDetails = SizeOf(MIXERCONTROLDETAILS_UNSIGNED)
mcd\cChannels = 1
result = mixerSetControlDetails_(hMixer, @mcd, #MIXER_SETCONTROLDETAILSF_VALUE)
If result = #MMSYSERR_NOERROR
ProcedureReturn #True
Else
ProcedureReturn #False
EndIf
EndIf
EndIf
EndIf
EndProcedure
NewList musique.s()
Procedure.l Window_Form1()
If OpenWindow(#Window_Form1, 489, 239, 383, 342, "InfoProject Player", #PB_Window_BorderLess|#PB_Window_ScreenCentered|#PB_Window_WindowCentered|#PB_Window_Invisible)
If CreatePopupMenu(0) ; La création du menu contextuel commence...
MenuTitle("Fichier") ; Vous pouvez utiliser toutes les commandes relatives au menu,
MenuItem(1, "Ouvrir un fichier") ; comme si c'était un menu normal...
MenuItem(2, "Quitter")
MenuTitle("A propos...")
MenuItem(3, "A propos d'InfoProject Player")
EndIf
If CreateGadgetList(WindowID(#Window_Form1))
PureSkinMem(#Window_Form1,#Gadget_Form1_xPureSkin2,#Image_Form1_xPureSkin2,?_OPT_Form1_xPureSkin2,1)
ListViewGadget(#Gadget_Form1_ListViewGadget, 40, 40, 295, 220, #PB_ListView_Multiselect)
PureCOLOR_SetGadgetColor(#Gadget_Form1_ListViewGadget, $DC9C4B, $000000)
PVGadgets_TransparentButtonImageGadget(#Gadget_Form1_xTransButtonImage7,110,270,30,30,PVGadgets_TempDir()+"lecture.bmp")
PVGadgets_TransparentButtonImageGadget(#Gadget_Form1_xTransButtonImage8,75,270,30,30,PVGadgets_TempDir()+"precedent.bmp")
PVGadgets_TransparentButtonImageGadget(#Gadget_Form1_xTransButtonImage9,145,270,30,30,PVGadgets_TempDir()+"suivant.bmp")
PVGadgets_TransparentButtonImageGadget(#Gadget_Form1_xTransButtonImage10,40,270,30,30,PVGadgets_TempDir()+"stop.bmp")
PVGadgets_TransparentButtonImageGadget(#Gadget_Form1_xTransButtonImage11,180,270,30,30,PVGadgets_TempDir()+"pause.bmp")
TrackBarGadget(#Gadget_Form1_TrackBar10, 220, 275, 115, 20, 0, 655)
PureCOLOR_SetGadgetColor(#Gadget_Form1_TrackBar10, 0, $6A6A6A)
SetGadgetState(#Gadget_Form1_TrackBar10,MIXER_getVolume(#MIXERLINE_COMPONENTTYPE_DST_SPEAKERS)/100)
PVGadgets_TransparentButtonImageGadget(#Gadget_Form1_xTransButtonImage12,330,25,15,15,PVGadgets_TempDir()+"quitter.bmp")
PVGadgets_TransparentButtonImageGadget(#Gadget_Form1_xTransButtonImage14,315,25,15,15,PVGadgets_TempDir()+"reduire.bmp")
HyperLinkGadget(#Gadget_Form1_HyperLink15, 115, 25, 145, 15, "Player Version 0.2.", $1723D6)
SetGadgetColor(#Gadget_Form1_HyperLink15, #PB_Gadget_BackColor , $303030)
SetGadgetColor(#Gadget_Form1_HyperLink15, #PB_Gadget_FrontColor , $D0921E)
PureSkinHide(#Window_Form1,0)
ProcedureReturn WindowID(#Window_Form1)
EndIf
EndIf
EndProcedure
Procedure.l Window_Form2()
If OpenWindow(#Window_Form2,434,185,400,182,"A propos ...",#PB_Window_ScreenCentered|#PB_Window_WindowCentered|#PB_Window_Invisible)
If CreateGadgetList(WindowID(#Window_Form2))
ImageGadget(#Gadget_Form2_Image17,5,5,154,146,ImageID(#Image_Form2_Image17))
TextGadget(#Gadget_Form2_Text18,175,5,210,30,"",#PB_Text_Center)
SetGadgetFont(#Gadget_Form2_Text18,LoadFont(#Gadget_Form2_Text18,"Georgia",16,0))
TextGadget(#Gadget_Form2_Text19,250,40,60,15,"Version 0.2",#PB_Text_Center)
TextGadget(#Gadget_Form2_Text20,175,70,210,45," ")
ButtonGadget(#Gadget_Form2_Button22,175,130,210,15,"Ok")
HyperLinkGadget(#Gadget_Form2_HyperLink23,5,160,255,15,"",12615680)
PureSkinHide(#Window_Form2,0)
ProcedureReturn WindowID(#Window_Form2)
EndIf
EndIf
EndProcedure
Procedure WindowCallback(WindowID,Message,wParam,lParam)
ReturnValue=#PB_ProcessPureBasicEvents
If Message=#WM_CTLCOLORSTATIC Or Message=#WM_CTLCOLOREDIT Or Message=#WM_CTLCOLORLISTBOX
ReturnValue=PVDynamic_ColorGadget(lParam,wParam)
EndIf
ProcedureReturn ReturnValue
EndProcedure
;- Main Loop
If Window_Form1()
SetWindowCallback(@WindowCallback())
quitForm1=0
Repeat
EventID =WaitWindowEvent()
MenuID =EventMenu()
GadgetID =EventGadget()
WindowID =EventWindow()
Select EventID
Case #PB_Event_CloseWindow
If WindowID=#Window_Form1
quitForm1=1
EndIf
Case #WM_LBUTTONDOWN
If WindowID=#Window_Form1
SendMessage_(WindowID(#Window_Form1),#WM_NCLBUTTONDOWN,#HTCAPTION,0)
EndIf
;---------------Début PopupMenu---------------------------------------------------
Case #WM_RBUTTONDOWN ; Le bouton droit de la souris a été clické =>
DisplayPopupMenu(0,WindowID(#Window_Form1)) ; On affiche le menu contextuel
Case #PB_Event_Menu ; Un élément du menu a été sélectionné
Select EventMenu() ; On recupère le numéro de cet élement...
Case 1
;-----------Ouverture du Media-------------------------------------------------------
MovieName$ = OpenFileRequester("Ouvrir un fichier Audio", "", "Fichier Audio|*.mp3;*.wav;*.ogg;*.wma", 0, #PB_Requester_MultiSelection)
Repeat
movie.l = position
AddGadgetItem(#Gadget_Form1_ListViewGadget,position,GetFilePart(MovieName$))
LoadMovie(position,MovieName$)
position = position + 1
AddElement(musique.s())
MovieName$ = NextSelectedFileName()
Until MovieName$ = ""
;**************************************************************************************
Case 2
End
Case 3
Window_Form2()
EndSelect
;----------------------------------------------------------------------------------
Case #PB_Event_Gadget
Select GadgetID
Case #Gadget_Form1_xTransButtonImage7
;-------------Lecture-------------------------------------------------
movie = GetGadgetState(#Gadget_Form1_ListViewGadget)
If GetGadgetItemText(#Gadget_Form1_ListViewGadget,movie,0) <> ""
If musique = 1
StopMovie(0)
musique = 0
EndIf
PlayMovie(movie,WindowID(#Window_Form1))
musique = 1
EndIf
;----------------------------------------------------------------------
Case #Gadget_Form1_xTransButtonImage8
Case #Gadget_Form1_xTransButtonImage9
Case #Gadget_Form1_xTransButtonImage10
;------------------Stop------------------------------------
StopMovie(0)
musique = 0
;----------------------------------------------------------
Case #Gadget_Form1_xTransButtonImage11
;-------------------Pause----------------------------------
If musique = 1
If pause = 0
PauseMovie(0)
pause = 1
ElseIf pause = 1
ResumeMovie(0)
pause = 0
EndIf
EndIf
;----------------------------------------------------------
Case #Gadget_Form1_TrackBar10
curvolume = GetGadgetState(#Gadget_Form1_TrackBar10)
MIXER_setVolume(#MIXERLINE_COMPONENTTYPE_DST_SPEAKERS,curvolume*100+36)
Case #Gadget_Form1_xTransButtonImage12
End
Case #Gadget_Form1_xTransButtonImage14
ShowWindow_(WindowID(#Window_Form1), #SW_MINIMIZE)
Case #Gadget_Form1_HyperLink15
Window_Form2()
Case #Gadget_Form2_Button22
CloseWindow(#Window_Form2)
Case #Gadget_Form2_HyperLink23
EndSelect
EndSelect
Until quitForm1
CloseWindow(#Window_Form1)
EndIf
PVGadgets_FreeTransparentGadgets(PVGadgets_TempDir())
End
Voici la ligne en question :
Code : Tout sélectionner
LoadMovie(position,MovieName$)
Quelqu'un pourrait me dire pourquoi j'ais cette erreur car la je seche.
Pour info j'utilise PureVisionXP, donc certaine ligne sont surement à suprimer pour ceux qui ne l'utilise pas. Merci pour vos réponses.