Difference between revisions of "SNDGETPOS"

From QB64 Wiki
Jump to navigation Jump to search
imported>Clippy
m
imported>Odin
m (1 revision imported)
 
(5 intermediate revisions by 3 users not shown)
Line 4: Line 4:


{{PageSyntax}}
{{PageSyntax}}
:{{Parameter|position}} = '''_SNDGETPOS('''{{Parameter|handle&}}''')'''
:{{Parameter|position}} = [[_SNDGETPOS]]({{Parameter|handle&}})




{{PageDescription}}
{{PageDescription}}
*Returns the currently playing position in seconds from '''MP3''' sound files with the SETPOS capability.
*Returns the current playing position in seconds from an open sound file.
*If a sound isn't playing, it returns 0.
*If a sound isn't playing, it returns 0.
*If a sound is paused, it returns the paused position.
*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.
*For a looping sound, the value returned continues to increment and does not reset to 0 when the sound loops.
{{TextStart}}   QB64 supports the following sound file formats ('''Bold is a guaranteed capability'''):
* In versions '''prior to build 20170811/60''', the sound identified by {{Parameter|handle&}} must have been opened using the [[_SNDOPEN|"SETPOS" capability]] to use this function.


            WAV = "'''VOL,SYNC,LEN''',PAUSE"      [http://www.rarewares.org/ogg-oggdropxpd.php Free WAV to OGG GUI converter]
            OGG = "VOL,SYNC,LEN,PAUSE"      [http://www.rarewares.org/ogg-oggenc.php 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"        [http://www.freemp3wmaconverter.com/index.html Free WMA, MP3 and OGG converter]


        ''Note:'' {{Cb|_SNDBAL}} only affects MP3 volume. Sound will reside in main channel.
{{PageExamples}}
{{TextEnd}}
''Example:'' To check the current playing position in an MP3 file, use [[_SNDPLAY]] with [[_SNDGETPOS]] printed in a loop:
 
 
''Example:''To check MP3 files for the SETPOS capability, use [[_SNDPLAY]] with [[_SNDGETPOS]] printed in a loop:
{{CodeStart}} '' ''
{{CodeStart}} '' ''
SoundFile& = {{Cl|_SNDOPEN}}("YourSoundFile.mp3", "VOL,SETPOS,PAUSE") '<<< 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  

Latest revision as of 03:16, 1 November 2017

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:
Keyword Reference - Alphabetical
Keyword Reference - By Usage
Main Wiki Page