From QB64 Wiki

Jump to: navigation, search

The _SNDSETPOS statement changes the current/starting playing position of a sound in seconds.


_SNDSETPOS handle&, position!


  • Changes the current/starting playing position of a sound in seconds(a SINGLE value).
  • If the seconds position is past the length of the sound the sound will stop playing.
  • Function cannot be called while a looping (_SNDLOOP) sound is being played.
  • Opened MP3 files must have the "SETPOS" capability to use this statement. Not all do!

QB64 supports the following sound file formats (Bold is a guaranteed capability): WAV = "VOL,SYNC,LEN,PAUSE" Free WAV to OGG GUI converter OGG = "VOL,SYNC,LEN,PAUSE" Free WAV to OGG converter AIF = "VOL,SYNC,LEN,PAUSE" RIF = "VOL,SYNC,LEN,PAUSE" VOC = "VOL,SYNC,LEN,PAUSE" MID = "VOL" MOD = "VOL,PAUSE" MP3 = "VOL,PAUSE,SETPOS" Free WMA, MP3 and OGG converter Note: _SNDBAL only affects MP3 volume. Sound will reside in main channel.

Example:To check MP3 files for the SETPOS capability, use _SNDPLAY with _SNDGETPOS printed in a loop

SoundFile& = _SNDOPEN("YourSoundFile.mp3", "VOL,SETPOS,PAUSE") '<<< your MP3 sound file here! _SNDSETPOS SoundFile&, 5.5 'set to play sound 5 1/2 seconds into music _SNDPLAY SoundFile& 'play sound Do: _LIMIT 60 LOCATE 5, 2: PRINT "Current play position> "; _SNDGETPOS(SoundFile&) LOOP UNTIL _KEYDOWN(27) OR NOT _SNDPLAYING(SoundFile&) 'ESC or end of sound exit

See also:

Go to Keyword Reference - Alphabetical
Go to Keyword Reference - By usage
Go to Main WIKI Page
  • Page
  • Discussion
  • View source
  • History
Personal tools
  • Log in
  • What links here
  • Related changes
  • Special pages
  • Printable version