mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-09 14:00:17 +00:00
These tests use a variety of sample code (with some of the larger files removed, so they are not complete!) and verifies that they all compile successfully.
127 lines
2.1 KiB
QBasic
127 lines
2.1 KiB
QBasic
DEFLNG A-Z
|
|
WIDTH 80, 50
|
|
COLOR 15
|
|
CLS
|
|
PRINT "QB64 AUDIO (ESC=QUIT, H=SELECT HANDLE)"
|
|
PRINT "Basics: O=OPEN C=CLOSE ENTER=PLAY S=STOP L=LOOP"
|
|
PRINT "Extras: V=VOL B=BAL SPACE=PAUSE A=SETPOS Z=COPY"
|
|
PRINT "Info: Q=PLAYING&GETPOS W=LEN P=PAUSED"
|
|
PRINT "Macros: F=PLAYFILE X=PLAYCOPY"
|
|
PRINT STRING$(80, "_")
|
|
VIEW PRINT 8 TO 50
|
|
LOCATE , , 1
|
|
|
|
DO
|
|
|
|
SLEEP 'lowers CPU usage
|
|
k$ = UCASE$(INKEY$)
|
|
|
|
IF k$ = CHR$(27) THEN END
|
|
|
|
IF k$ = "H" THEN
|
|
h2 = h
|
|
INPUT "handle=", h
|
|
IF h = 0 THEN PRINT "Invalid handle": h = h2
|
|
END IF
|
|
|
|
IF k$ = "O" THEN
|
|
PRINT "handle=_SNDOPEN(filename$,[requirements$])"
|
|
INPUT ; "handle=_SNDOPEN(", f$, r$
|
|
PRINT ")"
|
|
h2 = h
|
|
h=_SNDOPEN(f$, r$)
|
|
IF h=0 THEN
|
|
IF h2 THEN h = h2
|
|
PRINT "Failed"
|
|
ELSE
|
|
PRINT "handle="; h
|
|
END IF
|
|
END IF
|
|
|
|
IF k$ = "C" THEN
|
|
PRINT "_SNDCLOSE"; h
|
|
_SNDCLOSE h
|
|
END IF
|
|
|
|
IF k$ = CHR$(13) THEN
|
|
PRINT "_SNDPLAY"; h
|
|
_SNDPLAY h
|
|
END IF
|
|
|
|
IF k$ = "S" THEN
|
|
PRINT "_SNDSTOP"; h
|
|
_SNDSTOP h
|
|
END IF
|
|
|
|
IF k$ = "L" THEN
|
|
PRINT "_SNDLOOP"; h
|
|
_SNDLOOP h
|
|
END IF
|
|
|
|
IF k$ = "V" THEN
|
|
PRINT "_SNDVOL handle&,volume!{0-1}"
|
|
PRINT "_SNDVOL"; h; ",";
|
|
INPUT "", volume!
|
|
_SNDVOL h, volume!
|
|
END IF
|
|
|
|
IF k$ = "B" THEN
|
|
PRINT "_SNDBAL handle&,[x!],[y!],[z!]"
|
|
PRINT "_SNDBAL"; h; ",";
|
|
INPUT "", x!, y!, z!
|
|
_SNDBAL h, x!, y!, z!
|
|
END IF
|
|
|
|
IF k$ = " " THEN
|
|
PRINT "_SNDPAUSE"; h
|
|
_SNDPAUSE h
|
|
END IF
|
|
|
|
IF k$ = "A" THEN
|
|
PRINT "_SNDSETPOS handle&,offsetinseconds!"
|
|
PRINT "_SNDSETPOS"; h; ",";
|
|
INPUT "", offset!
|
|
_SNDSETPOS h, offset!
|
|
END IF
|
|
|
|
IF k$ = "Z" THEN
|
|
PRINT "handle=_SNDCOPY("; h; ")"
|
|
h2 = _SNDCOPY(h)
|
|
if h2 then
|
|
h = h2
|
|
PRINT "handle="; h
|
|
ELSE
|
|
PRINT "Failed"
|
|
END IF
|
|
END IF
|
|
|
|
IF k$ = "Q" THEN
|
|
PRINT "PRINT _PLAYING("; h; ")"
|
|
PRINT _SNDPLAYING(h)
|
|
PRINT "PRINT _GETPOS("; h; ")"
|
|
PRINT _SNDGETPOS(h)
|
|
END IF
|
|
|
|
IF k$ = "W" THEN
|
|
PRINT "PRINT _SNDLEN("; h; ")"
|
|
PRINT _SNDLEN(h)
|
|
END IF
|
|
|
|
IF k$ = "P" THEN
|
|
PRINT "PRINT _SNDPAUSED("; h; ")"
|
|
PRINT _SNDPAUSED(h)
|
|
END IF
|
|
|
|
IF k$ = "F" THEN
|
|
PRINT "_SNDPLAYFILE filename$,sync%{0/1},volume!{0-1}"
|
|
INPUT "_SNDPLAYFILE ", filename$, sync%, volume!
|
|
_SNDPLAYFILE filename$, sync%, volume!
|
|
END IF
|
|
|
|
IF k$ = "X" THEN
|
|
PRINT "_SNDPLAYCOPY"; h
|
|
_SNDPLAYCOPY h
|
|
END IF
|
|
|
|
LOOP
|
|
|