Code: Select all
;
; This code does work:
;
; If InitMovie() = 0
; MessageRequester("Error", "Can't initialize movie playback !", 0)
; End
; EndIf;;
;
; MovieName$ = OpenFileRequester("Choose the movie to play", "", "Movie files|*.avi;*.mpg;*.mp3|All Files|*.*", 0)
; Debug(MovieName$)
; If MovieName$
; If LoadMovie(0, MovieName$)
;
; OpenWindow(0, 100, 150, MovieWidth(0), MovieHeight(0), "PureBasic - Movie")
; PlayMovie(0, WindowID(0))
;
; Repeat
; Until WaitWindowEvent() = #PB_Event_CloseWindow
; Else
; MessageRequester("Error", "Can't load the movie...", 0)
; EndIf
; EndIf
Procedure Sound_Load(FileName.s)
ProcedureReturn CocoaMessage(0,CocoaMessage(0,0,"NSSound alloc"),"initWithContentsOfFile:$",@FileName,"byReference:",#YES)
EndProcedure
Procedure Sound_Catch(*MemoryAddress, Size)
Protected Result.i = CocoaMessage(0,0,"NSData dataWithBytes:",*MemoryAddress,"length:",Size)
If Result : Result = CocoaMessage(0,CocoaMessage(0,0,"NSSound alloc"),"initWithData:",Result) : EndIf
ProcedureReturn Result
EndProcedure
Procedure Sound_SetVolume(SoundObject, Volume.f)
CocoaMessage(0,SoundObject,"setVolume:@",@Volume)
EndProcedure
Procedure Sound_Play(SoundObject, Loop = #NO)
CocoaMessage(0,SoundObject,"setLoops:",Loop)
CocoaMessage(0,SoundObject,"setCurrentTime:",0)
ProcedureReturn CocoaMessage(0,SoundObject,"play")
EndProcedure
Procedure Sound_Stop(SoundObject)
ProcedureReturn CocoaMessage(0,SoundObject,"stop")
EndProcedure
Procedure Sound_IsPlaying(SoundObject)
ProcedureReturn CocoaMessage(0,SoundObject,"isPlaying")
EndProcedure
Procedure Sound_Release(SoundObject)
CocoaMessage(0,SoundObject,"stop")
CocoaMessage(0,SoundObject,"release")
EndProcedure
MySound = Sound_Load("/Users/iMac/PureBasic/test.mp3")
Sound_SetVolume(MySound, 0.8)
Sound_Play(MySound)
MessageRequester("Wait","Test")