RosettaCodeData/Task/Play-recorded-sounds/FreeBASIC/play-recorded-sounds.basic
2024-10-16 18:07:41 -07:00

45 lines
1.2 KiB
Text

#include "windows.bi"
#include "win/mmsystem.bi"
Const SND_LOOP = &H8
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000
' Reproducir un archivo MIDI
Dim As String midiFile = "canyon.mid"
mciSendString("play " & midiFile, 0, 0, 0)
Print "Playing a MIDI file..."
Print !"\nPress a key to stop playback"
Do: Loop Until Inkey <> ""
mciSendString("stop " & midiFile, 0, 0, 0)
Print !"Stopped MIDI.\n"
Sleep 4000
Dim As String waveFile = "C:\windows\media\tada.wav"
Dim As Integer volume = 10000
waveOutSetVolume(0, volume Or (volume Shl 16))
PlaySound(waveFile, 0, SND_FILENAME Or SND_ASYNC)
Print "Playing the Windows TADA sound quietly..."
Sleep 4000
volume = 65535
waveOutSetVolume(0, volume)
PlaySound(waveFile, 0, SND_FILENAME Or SND_ASYNC)
Print "Playing the Windows TADA sound loudly on the left channel..."
Sleep 4000
waveOutSetVolume(0, volume Shl 16)
PlaySound(waveFile, 0, SND_FILENAME Or SND_ASYNC)
Print "Playing the Windows TADA sound loudly on the right channel..."
Sleep 4000
waveOutSetVolume(0, volume Or (volume Shl 16))
PlaySound(waveFile, 0, SND_FILENAME Or SND_ASYNC Or SND_LOOP)
Print "Looping the Windows TADA sound on both channels..."
Sleep 4000
PlaySound(0, 0, 0)
Print "Stopped looping..."
Sleep