Про звук

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
badaninslava
постоялец
Сообщения: 101
Зарегистрирован: 12.12.2005 00:21:44

Сообщение badaninslava »

Народ, подскажите, пожалуйста как в FPC из бипера можно выдавливать писки и как заставить проиграть wave и MP3-файл? ;)
Alexander

Сообщение Alexander »

Под какую ОС ?
SergKam
постоялец
Сообщения: 251
Зарегистрирован: 16.11.2005 20:31:11
Откуда: Украина,Харьков

Сообщение SergKam »

MP3 через бипер :)

гдето на форуме lazarusa встречал что ктото делает кросплатформеный мультимедийный компонент. не знаю как у него дела, можно поинтересоваться. еще есть SDL для FP там точно есть кросплатформенный звук.
можно еще запустить дочерний невидимый процесс с mp123 и управлять им через стандартный ввод вывод.
badaninslava
постоялец
Сообщения: 101
Зарегистрирован: 12.12.2005 00:21:44

Сообщение badaninslava »

Под какую ОС ?

Вообще для винды.
badaninslava
постоялец
Сообщения: 101
Зарегистрирован: 12.12.2005 00:21:44

Сообщение badaninslava »

MP3 через бипер

Не, MP3 - через колонки... :lol:
Alexander

Сообщение Alexander »

А для какой винды ? 95-98 или НТ и далее ?

В последнем случае всё совсем просто, через windows.Beep(tone, delay);
("Бипов" два в разных юнитах ! Этот пример работает для Делфи,
какой юнит надо использоать для ФП (windows или нет) я ещё не знаю.)

А в случае, если нужно для 95-98, напрямую, через порты.

А вообще что играть то будем ? Интересно :)))))
Аватара пользователя
Иван Шихалев
энтузиаст
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург
Контактная информация:

Сообщение Иван Шихалев »

Не, MP3 - через колонки

Через колонки и в винде - см. модуль mmsystem. Документацию лучше поискать на MSDN.
badaninslava
постоялец
Сообщения: 101
Зарегистрирован: 12.12.2005 00:21:44

Сообщение badaninslava »

А для какой винды ? 95-98 или НТ и далее ?

Для НТ.
windows.Beep(tone, delay);

не работает.
Пытаюсь компилить пример на ассемблере(с инета скачал)- выбаёт по русски- не знакомая команда процессора... :(
Аватара пользователя
Alexander
энтузиаст
Сообщения: 888
Зарегистрирован: 18.12.2005 18:10:00
Откуда: оттуда
Контактная информация:

Сообщение Alexander »

не работает.


То есть как не работает ?
Аватара пользователя
bw
постоялец
Сообщения: 359
Зарегистрирован: 01.12.2005 10:36:23
Откуда: Усть-Илимск
Контактная информация:

Сообщение bw »

Beep(tone, delay);
Под w2k работает. Причем именно на PC speaker'е, как я люблю ;-). Вот блин. А я не знал. Драйвер на asm писал. Хотя, конечно с пользой время провел :-).

..bw
Аватара пользователя
Alexander
энтузиаст
Сообщения: 888
Зарегистрирован: 18.12.2005 18:10:00
Откуда: оттуда
Контактная информация:

Сообщение Alexander »

Я когда понял, что доступ к портам закрыт и надо писать драйвер
поначалу офигел, а потом нашел эту функцию. В итоге ставишь проверку
НТ - не НТ и либо функция, либо порты. А сейчас перехожу в Линукс, чтобы
с такими маразмами больше не возится.

не работает.


Работает, работает. А прямой доступ к портам в НТ закрыт :(
Кстати, а сам спикер то есть, или его с лёгкой руки оторвали ?

И что играть то будем ?
badaninslava
постоялец
Сообщения: 101
Зарегистрирован: 12.12.2005 00:21:44

Сообщение badaninslava »

И что играть то будем ?

Да так- хочу программу-тестирование сделать и чтобы когда студент ответит на все вопросы звучала мелодия, соответствующая балу, чтобы препод сразу понял.

windows.Beep(tone, delay);

Ну не работает и всё тут.. :( :( :(
Аватара пользователя
Alexander
энтузиаст
Сообщения: 888
Зарегистрирован: 18.12.2005 18:10:00
Откуда: оттуда
Контактная информация:

Сообщение Alexander »

Обязанно работать. Надеюсь ты понимаешь смысл записи:

windows.Beep(tone, delay);

tone - частота звука
delay - длительность звука

То есть вначале uses ..., windows; а уже затем windows.Beep(tone, delay);

Это значит, что мы использовали бип из этого юнита. У меня конкретно так
играет. У [bw] тоже заиграло. Играть обязанно. Почитай стандартную доку
про АПИ. Я так и нашел.

Есть ещё вариант, что раз уж хрюша контролирует спикер, то возможно в
ней есть его блокировка и она включена ? Тогда вопрос - а хоть когда
нибудь спикер от этого вин пищал ?

Хорошую задачу ты решаешь.
badaninslava
постоялец
Сообщения: 101
Зарегистрирован: 12.12.2005 00:21:44

Сообщение badaninslava »

Тогда вопрос - а хоть когда
нибудь спикер от этого вин пищал ?

Да, когда долго "shift" жмакаешь...
Гость_Alexander

Сообщение Гость_Alexander »

Тогда скачай мой органайзер. Там эта функция и работает. Если не играет -
проблема на 100 процентов в Вин. www.aralni.narod.ru
Ответить