SNDGETPOS: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 19: Line 19:
{{CodeStart}}
{{CodeStart}}
SoundFile& = {{Cl|_SNDOPEN}}("YourSoundFile.mp3") '<<< your MP3 sound file here!
SoundFile& = {{Cl|_SNDOPEN}}("YourSoundFile.mp3") '<<< your MP3 sound file here!
{{Cl|_SNDSETPOS}} SoundFile&, 5.5  'set to play sound 5 1/2 seconds into music  
{{Cl|_SNDSETPOS}} SoundFile&, 5.5  'set to play sound 5 1/2 seconds into music
{{Cl|_SNDPLAY}} SoundFile&  'play sound  
{{Cl|_SNDPLAY}} SoundFile&  'play sound
Do: {{Cl|_LIMIT}} 60    
Do: {{Cl|_LIMIT}} 60
   LOCATE 5, 2: PRINT "Current play position> "; {{Cl|_SNDGETPOS}}(SoundFile&)
   LOCATE 5, 2: PRINT "Current play position> "; {{Cl|_SNDGETPOS}}(SoundFile&)
LOOP UNTIL {{Cl|_KEYDOWN}}(27) OR {{Cl|NOT}} {{Cl|_SNDPLAYING}}(SoundFile&) 'ESC or end of sound exit
LOOP UNTIL {{Cl|_KEYDOWN}}(27) OR {{Cl|NOT}} {{Cl|_SNDPLAYING}}(SoundFile&) 'ESC or end of sound exit
Line 33: Line 33:


{{PageNavigation}}
{{PageNavigation}}
[[Category:Latest]]

Latest revision as of 02:40, 23 January 2023

The _SNDGETPOS function returns the current playing position in seconds using a handle from _SNDOPEN.


Syntax

position = _SNDGETPOS(handle&)


Description

  • Returns the current playing position in seconds from an open sound file.
  • If a sound isn't playing, it returns 0.
  • If a sound is paused, it returns the paused position.
  • For a looping sound, the value returned continues to increment and does not reset to 0 when the sound loops.
  • In versions prior to build 20170811/60, the sound identified by handle& must have been opened using the "SETPOS" capability to use this function.


Examples

Example: To check the current playing position in an MP3 file, use _SNDPLAY with _SNDGETPOS printed in a loop:

SoundFile& = _SNDOPEN("YourSoundFile.mp3") '<<< 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



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link