Работа со звуком
BEEP: <длительность_в_мс> <частота_гц>
Подает звуковой сигнал через встроенный динамик. Пользователь может задать длительность сигнала в миллисекундах и частоту в герцах.
Пример:
\ пищим пол секунды с частотой 500 гц BEEP: 500 500
Можно использовать вариант слова BEEP с постфиксным расположением параметров, чтобы брать значения длительности и частоты звука прямо со стека:
<длительность_в_мс> <частота_гц> BEEP
Это позволяет делать любопытные звуковые эффекты и озвучивать ими разнообразные события.
Примеры:
10 1 DO 100 I 100 * BEEP LOOP
50 3000 DO 30 I BEEP I 17 / NEGATE +LOOP
Постфиксное слово, которое увеличивает или уменьшает громкость звука (апплет Volume Control) на заданное количество процентов. Чтобы увеличить громкость звука задайте в качестве аргумента положительное значение, а чтобы уменьшить громкость - задайте отрицательное значение. Узнать текущее значение громкости вам поможет слово MIXER-VOLUME@.
Примеры:
\ увеличиваем значение громкости на 10% 10 MIXER+ \ уменьшаем значение громкости на 30% -30 MIXER+
MIXER-DOWN ( % -- )
MIXER-UP ( % -- )
Постфиксные слова для уменьшения/увеличения громкости звука (апплет Volume Control) на указанное количество процентов. Узнать текущее значение громкости вам поможет слово MIXER-VOLUME@.
Примеры:
\ увеличиваем значение громкости на 10% 10 MIXER-UP \ уменьшаем значение громкости на 30% 30 MIXER-DOWN
Постфиксные слова для включения/отключения (mute/unmute) звука (апплет Volume Control).
Постфиксное слово, которое возвращает флаг TRUE (-1) если звук сейчас включен (чекбокс Mute в апплете Volume Control не установлен) и флаг FALSE (0) если звук выключен (чекбокс Mute в апплете Volume Control установлен).
Пример:
\ включаем звук если он был выключен \ и увеличиваем громкость на 50% MIXER-STATE 0= IF MIXER-UNMUTE THEN 50 MIXER-UP
Постфиксное слово, которое устанавливает громкость (апплет Volume Control) соответственно полученному аргументу (в процентах).
Примеры:
\ установить значение громкости на уровне 10% 10 MIXER-VOLUME! \ установить значение громкости на уровне 90% 90 MIXER-VOLUME!
Постфиксное слово, которое кладет на стек текущее значение громкости (апплет Volume Control) в процентах.
Пример:
\ выводим текущее значение громкости на консоль: MIXER-VOLUME@ . CR
PLAY-SOUND: "path_of_wav_file"
Воспроизводит wav-файл асинхронно: выполнение задачи не приостанавливается до окончания воспроизведения wav-файла.
Пример:
#( test_play_sound NoActive Action: PLAY-SOUND: "c:\my.wav" )#
PLAY-SOUNDW: "path_of_wav_file"
Воспроизводит wav-файл синхронно: выполнение задачи приостанавливается до окончания воспроизведения wav-файла.
Пример:
#( test_play_soundw NoActive Action: PLAY-SOUNDW: "c:\my.wav" \ ... следующая строка будет выполнена только
\ после окончания воспроизведения wav-файла
)#