Audioplayer
Verfasst: 05.07.2007 16:18
Ich hab jetzt mal versucht einen Audioplayer zu programmieren, bloß wird mein Code nicht akzeptiert.
Hier der Code:
Hier der Code:
Code: Alles auswählen
#WindowWidth = 300
#WindowHeight = 150
If InitMovie() = 0
MessageRequester("Error", "Audiodatei kann nicht geladen werden!", 0)
End
EndIf
If OpenWindow(0, 100, 100, #WindowWidth, #WindowHeight, "Musikplayer v1.0", #PB_Window_Invisible | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget)
If CreateMenu(0, WindowID(0))
MenuTitle("Datei")
MenuItem(0, "Musikdatei laden...")
MenuItem(1, "Beenden")
MenuTitle("Lautstärke")
MenuItem(2, "Mute")
MenuBar()
MenuItem(3, "10%")
MenuItem(4, "20%")
MenuItem(5, "25%")
MenuBar()
MenuItem(6, "30%")
MenuItem(7, "40%")
MenuItem(8, "50%")
MenuBar()
MenuItem(9, "60%")
MenuItem(10, "70%")
MenuItem(11, "75%")
MenuBar()
MenuItem(12, "80%")
MenuItem(13, "90%")
MenuItem(14, "100%")
MenuTitle("Wiedergabe")
MenuItem(15, "Play")
MenuItem(16, "Pause")
MenuItem(17, "Stop")
EndIf
If CreateToolBar(0, WindowID(0))
ToolBarImageButton(15, LoadImage(0, "Play.ico"))
ToolBarSeparator()
ToolBarImageButton(16, LoadImage(0, "Pause.ico"))
ToolBarSeparator()
ToolBarImageButton(17, LoadImage(0, "Stop.ico"))
EndIf
HideWindow(0, 0)
Volume=100
Repeat
Select WindowEvent()
Case #PB_Event_Menu
Select EventMenu()
Case 0
movieName$ = OpenFileRequester("Bitte wählen sie den gewünschten Musiktitel!", "", "Audiodateien|*.mp3;*.avi;*.wav;*.mid;*.ram;*.wma;*.aif|Alle Dateien|*.*", 0)
If movieName$
If LoadMovie(0, movieName$)
movieLoaded = 1
movieState = 0
If MovieHeight(0) > 0
ResizeWindow(0, #PB_Ignore, #PB_Ignore, MovieWidth(0), MovieHeight(0)+70)
Else
ResizeWindow(0, #PB_Ignore, #PB_Ignore, #WindowWidth, #WindowHeight)
EndIf
EndIf
Select EventMenu()
Case 1
End
Case 15
If movieLoaded
If movieState = 2
ResumeMovie(0)
Else
PlayMovie(0, WindowID(0))
EndIf
EndIf
Select EventMenu()
Case 16
If movieLoaded And movieState = 1
PauseMovie(0)
movieState = 2
EndIf
Case 17
If movieLoaded And movieState = 1
StopMovie(0)
movieState = 3
EndIf
Case 2
Volume = 0
Case 3
Volume = 10
Case 4
Volume = 20
Case 5
Volume = 25
Case 6
Volume = 30
Case 7
Volume = 40
Case 8
Volume = 50
Case 9
Volume = 60
Case 10
Volume = 70
Case 11
Volume = 75
Case 12
Volume = 80
Case 13
Volume = 90
Case 14
Volume = 100
If movieLoaded
If CurrentWidth <> movieWidth Or CurrentHeight <> movieHeight
ResizeWindow(0, #PB_Ignore, #PB_Ignore, movieWidth+20, movieHeight+100)
CurrentWidth = movieWidth
CurrentHeight = movieHeight
EndIf
If CurrentVolume <> Volume Or CurrentBalance <> Balance
MovieAudio(0, Volume, Balance)
CurrentVolume = Volume
CurrentBalance = Balance
EndIf
EndIf
Case #PB_Event_CloseWindow
End
Case #PB_Event_SizeWindow
If IsMovie(0)
ResizeMovie(0, 0, 27, WindowWidth(0), WindowHeight(0)-70)
EndIf
Case 0
Delay(20)
If movieLoaded And MovieStatus(0) <> PreviousmovieStatus ; To prevent flickering on the StatusBar
Select MovieStatus(0)
Case -1
StatusBarText(0, 0, "Musik angehalt.", 0)
Case 0
StatusBarText(0, 0, "Musik gestoppt.", 0)
Default
StatusBarText(0, 0, "Spielt :"+Str(MovieStatus(0)), 0)
EndSelect
PreviousmovieStatus = MovieStatus(0)
EndIf
EndSelect
End