Про звук

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

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

Сообщение badaninslava » 17.12.2005 12:47:55

Народ, подскажите, пожалуйста как в FPC из бипера можно выдавливать писки и как заставить проиграть wave и MP3-файл? ;)
badaninslava
постоялец
 
Сообщения: 101
Зарегистрирован: 12.12.2005 01:21:44

Сообщение Alexander » 17.12.2005 16:32:32

Под какую ОС ?
Alexander
 

Сообщение SergKam » 17.12.2005 20:18:16

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

гдето на форуме lazarusa встречал что ктото делает кросплатформеный мультимедийный компонент. не знаю как у него дела, можно поинтересоваться. еще есть SDL для FP там точно есть кросплатформенный звук.
можно еще запустить дочерний невидимый процесс с mp123 и управлять им через стандартный ввод вывод.
SergKam
постоялец
 
Сообщения: 251
Зарегистрирован: 16.11.2005 21:31:11
Откуда: Украина,Харьков

Сообщение badaninslava » 18.12.2005 00:27:37

Под какую ОС ?

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

Сообщение badaninslava » 18.12.2005 00:29:03

MP3 через бипер

Не, MP3 - через колонки... :lol:
badaninslava
постоялец
 
Сообщения: 101
Зарегистрирован: 12.12.2005 01:21:44

Сообщение Alexander » 18.12.2005 18:58:32

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

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

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

А вообще что играть то будем ? Интересно :)))))
Alexander
 

Сообщение Иван Шихалев » 19.12.2005 08:48:03

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

Через колонки и в винде - см. модуль mmsystem. Документацию лучше поискать на MSDN.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Сообщение badaninslava » 20.12.2005 19:25:22

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

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

не работает.
Пытаюсь компилить пример на ассемблере(с инета скачал)- выбаёт по русски- не знакомая команда процессора... :(
badaninslava
постоялец
 
Сообщения: 101
Зарегистрирован: 12.12.2005 01:21:44

Сообщение Alexander » 21.12.2005 00:36:42

не работает.


То есть как не работает ?
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 703
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Сообщение bw » 21.12.2005 07:25:07

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

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

Сообщение Alexander » 21.12.2005 14:50:48

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

не работает.


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

И что играть то будем ?
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 703
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Сообщение badaninslava » 22.12.2005 21:37:19

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

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

windows.Beep(tone, delay);

Ну не работает и всё тут.. :( :( :(
badaninslava
постоялец
 
Сообщения: 101
Зарегистрирован: 12.12.2005 01:21:44

Сообщение Alexander » 23.12.2005 14:36:10

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

windows.Beep(tone, delay);

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

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

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

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

Хорошую задачу ты решаешь.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 703
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Сообщение badaninslava » 23.12.2005 22:18:12

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

Да, когда долго "shift" жмакаешь...
badaninslava
постоялец
 
Сообщения: 101
Зарегистрирован: 12.12.2005 01:21:44

Сообщение Гость_Alexander » 24.12.2005 13:11:21

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


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 109

Рейтинг@Mail.ru