_SNDBAL - QB64 Wiki


From QB64 Wiki

Jump to: navigation, search

The _SNDBAL statement attempts to set the balance or 3D position of a sound.


_SNDBAL handle&[, x!][, y!][, z!]


  • Attempts to position a sound in 3D space, or as close to it as the underlying software libraries allow. In some cases, this will be true 3D positioning, in others, a mere volume adjustment based on distance alone.
  • x distance values go from left(negative) to right(positive).
  • y distance values go from below(negative) to above(positive).
  • z distance values go from behind(negative) to in front(positive).
  • Omitted x, y or z SINGLE values are set to 0.
  • By setting the x value to -1 or 1 it plays the sound at full volume from the appropriate speaker.
  • Sounds at a distance of 1 or -1 are played at full volume. Sounds further than a distance of 1000 cannot be heard.
  • The volume decreases linearly (at a constant gradient) over distance. Half volume = 500.
  • Opened sound files must have the "VOL" capability to use this statement.
  • The sound file should have the "SYNC" capability when more than one sound is being used at the same time!
  • An "ILLEGAL FUNCTION CALL" error can occur if another sound is using the primary or same channel position.

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.

Code Examples:

h& = _SNDOPEN("LOL.wav", "SYNC,VOL") _SNDBAL h&, 1 _SNDPLAY h&

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