- This wiki is out of date, use the continuation of this wiki instead
Pause song
From FenixWiki
(Difference between revisions)
Revision as of 12:06, 30 July 2007 (edit) G105b (Talk | contribs) ← Previous diff |
Revision as of 12:28, 30 July 2007 (edit) (undo) G105b (Talk | contribs) Next diff → |
||
Line 9: | Line 9: | ||
== Notes == | == Notes == | ||
The song pauses immediately, but can be resumed later by calling [[resume_song]]. For a nicer effect, you may want to fade the music out before pausing. See [[fade_music_off]]. | The song pauses immediately, but can be resumed later by calling [[resume_song]]. For a nicer effect, you may want to fade the music out before pausing. See [[fade_music_off]]. | ||
+ | |||
+ | == Example == | ||
+ | <pre> | ||
+ | program music_example; | ||
+ | global | ||
+ | my_song; | ||
+ | playing; | ||
+ | paused; | ||
+ | faded_in; | ||
+ | v; | ||
+ | begin | ||
+ | set_mode(640,480,16); | ||
+ | |||
+ | my_song=load_song("beat.ogg"); | ||
+ | |||
+ | |||
+ | write(0,320,30,4,"Use the keyboard to control the music playback."); | ||
+ | write(0,320,50,4,"Key [ENTER] starts / stops the song."); | ||
+ | write(0,320,60,4,"Key [SPACE] pauses / resumes the song."); | ||
+ | write(0,320,70,4,"Key [0] through key [9] changes the song volume."); | ||
+ | write(0,320,80,4,"Key [F] fades the song in or out."); | ||
+ | |||
+ | write(0,320,120,5,"Playing: "); | ||
+ | write_int(0,320,120,3,&playing); | ||
+ | |||
+ | write(0,320,140,5,"Paused: "); | ||
+ | write_int(0,320,140,3,&paused); | ||
+ | |||
+ | write(0,320,160,5,"Faded in: "); | ||
+ | write_int(0,320,160,3,&faded_in); | ||
+ | |||
+ | write(0,320,180,5,"Volume: "); | ||
+ | write_int(0,320,180,3,&v); | ||
+ | |||
+ | v=128; | ||
+ | faded_in=true; | ||
+ | |||
+ | |||
+ | repeat | ||
+ | if(key(_enter)) | ||
+ | if(is_playing_song()) | ||
+ | stop_song(); | ||
+ | playing=false; | ||
+ | else | ||
+ | play_song(my_song,1); | ||
+ | playing=true; | ||
+ | end | ||
+ | while(key(_enter))frame;end | ||
+ | end | ||
+ | |||
+ | if(key(_space)) | ||
+ | if(paused) | ||
+ | paused=false; | ||
+ | resume_song(); | ||
+ | else | ||
+ | paused=true; | ||
+ | pause_song(); | ||
+ | end | ||
+ | while(key(_space))frame;end | ||
+ | end | ||
+ | |||
+ | if(key(_f)) | ||
+ | if(faded_in) | ||
+ | faded_in=false; | ||
+ | fade_music_off(100); | ||
+ | else | ||
+ | faded_in=true; | ||
+ | fade_music_in(my_song,1,100); | ||
+ | end | ||
+ | while(key(_f))frame;end | ||
+ | end | ||
+ | |||
+ | if(key(_0))v=0;end | ||
+ | if(key(_1))v=14;end | ||
+ | if(key(_2))v=28;end | ||
+ | if(key(_3))v=43;end | ||
+ | if(key(_4))v=57;end | ||
+ | if(key(_5))v=71;end | ||
+ | if(key(_6))v=85;end | ||
+ | if(key(_7))v=100;end | ||
+ | if(key(_8))v=114;end | ||
+ | if(key(_9))v=128;end | ||
+ | |||
+ | set_song_volume(v); | ||
+ | |||
+ | frame; | ||
+ | until(key(_esc)) | ||
+ | |||
+ | exit(); | ||
+ | end | ||
+ | </pre> | ||
+ | Used in example: [[key]], [[set_mode]], [[load_song]], [[write]], [[write_int]], [[pause_song]], [[play_song]], [[stop_song]], [[resume_song]], [[fade_music_in]], [[fade_music_off]], [[set_song_volume]]. |
Revision as of 12:28, 30 July 2007
Definition
INT pause_song ( )
Pauses the currently playing song.
Notes
The song pauses immediately, but can be resumed later by calling resume_song. For a nicer effect, you may want to fade the music out before pausing. See fade_music_off.
Example
program music_example; global my_song; playing; paused; faded_in; v; begin set_mode(640,480,16); my_song=load_song("beat.ogg"); write(0,320,30,4,"Use the keyboard to control the music playback."); write(0,320,50,4,"Key [ENTER] starts / stops the song."); write(0,320,60,4,"Key [SPACE] pauses / resumes the song."); write(0,320,70,4,"Key [0] through key [9] changes the song volume."); write(0,320,80,4,"Key [F] fades the song in or out."); write(0,320,120,5,"Playing: "); write_int(0,320,120,3,&playing); write(0,320,140,5,"Paused: "); write_int(0,320,140,3,&paused); write(0,320,160,5,"Faded in: "); write_int(0,320,160,3,&faded_in); write(0,320,180,5,"Volume: "); write_int(0,320,180,3,&v); v=128; faded_in=true; repeat if(key(_enter)) if(is_playing_song()) stop_song(); playing=false; else play_song(my_song,1); playing=true; end while(key(_enter))frame;end end if(key(_space)) if(paused) paused=false; resume_song(); else paused=true; pause_song(); end while(key(_space))frame;end end if(key(_f)) if(faded_in) faded_in=false; fade_music_off(100); else faded_in=true; fade_music_in(my_song,1,100); end while(key(_f))frame;end end if(key(_0))v=0;end if(key(_1))v=14;end if(key(_2))v=28;end if(key(_3))v=43;end if(key(_4))v=57;end if(key(_5))v=71;end if(key(_6))v=85;end if(key(_7))v=100;end if(key(_8))v=114;end if(key(_9))v=128;end set_song_volume(v); frame; until(key(_esc)) exit(); end
Used in example: key, set_mode, load_song, write, write_int, pause_song, play_song, stop_song, resume_song, fade_music_in, fade_music_off, set_song_volume.