Простой beep (звук) под Linux, QApplication::beep(), QSound, Phonon... |
Здравствуйте, гость ( Вход | Регистрация )
Простой beep (звук) под Linux, QApplication::beep(), QSound, Phonon... |
kwisp |
14.9.2010, 14:48
Сообщение
#11
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
а с этим что?
|
|
|
512es |
14.9.2010, 15:47
Сообщение
#12
|
Участник Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: 0 |
а с этим что? вспомнил что на моём компе давным давно вырван системный динамик ))) так что перехожу тестировать на ноут с интеловской звуковушкой: вкомпилил в ядро CONFIG_SND_HDA_INPUT_BEEP но никаких бипов не слышно.. |
|
|
kwisp |
14.9.2010, 16:29
Сообщение
#13
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
512es,
миксера аудио какой? когда бипаешь другие приложения использующие звук запущены. предлагаю тебе установить обычный линуксовый beep и им проверять когда он запищит тогда запищит и твоя прога. emerge -av beep |
|
|
512es |
14.9.2010, 16:39
Сообщение
#14
|
Участник Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: 0 |
512es, миксера аудио какой? когда бипаешь другие приложения использующие звук запущены. предлагаю тебе установить обычный линуксовый beep и им проверять когда он запищит тогда запищит и твоя прога. emerge -av beep юзаю alsamixer, там есть ползунок Speaker, всё на максимуме. что то мне подсказывает что ещё должен быть ещё и Beep. а нету.. давно поставил программу beep и проверяю им, даже пробовал через echo -e '\a', а так же через QApplication:beep() потом собрал даже CONFIG_PCSPKR_PLATFORM=y, и CONFIG_INPUT_PCSPKR=m. всё равно та же история. ничего больше использующего звук не включаю. кстати, в модуле CONFIG_SND_HDA_INPUT_BEEP пробовал ставить моде в 1 (включён постоянно) и в 2 (управляется миксером). результата 0 а вообще CONFIG_SND_HDA_INPUT_BEEP должен работать без CONFIG_PCSPKR_PLATFORM=y и CONFIG_INPUT_PCSPKR?? вот такие вот дела.. |
|
|
kwisp |
14.9.2010, 17:02
Сообщение
#15
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
давай права смотреть на утилиту beep
ls -l /usr/bin/beep что даёт? |
|
|
512es |
14.9.2010, 23:23
Сообщение
#16
|
Участник Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: 0 |
давай права смотреть на утилиту beep ls -l /usr/bin/beep что даёт? с правами всё впорядке. именно модуль интела не хочет пищать. много гуглил по этому вопросу. http://www.google.ru/search?sourceid=chrom...hda+beep+module вообщем, надоело )) теперь буду ковырять в сторону QSound или SDL_sound |
|
|
512es |
15.9.2010, 0:10
Сообщение
#17
|
Участник Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: 0 |
Итак,
я кажется нашёл отличное решение этой проблемы! Очень простое и эффективное решение будет играть звуки просто внешней командой в линуксе. Благо маленьких и шустрых консольных команд там предостаточно)) Ибо unix-way))
Звук играется даже лучше чем через Phonon! Быстрее, нет нагрузки на процессор и при быстром многократном проигрывании легко накладывается друг на друга а так же на музыку, которая в тот момент играет на компе, без какого либо шума, тормозов или глюков! )) Можно пойти и дальше, вкомпилировав в программу код плеера. Тут есть не плохой кусок кода, вырванный из линуксовой программы aplay, уже адаптированный для qt: http://lists.trolltech.com/qt-interest/200...ead00147-0.html Но мне лично это пока не надо. Т.к. всё равно будет зависимость от alsalib. А команда aplay почти стандартная, входит в состав пакета alsa-utils, в котором кстати и сам alsamixer. А для винды и далее буду использовать QApplication::beep(). Там оно работает хорошо. |
|
|
512es |
15.9.2010, 0:54
Сообщение
#18
|
Участник Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: 0 |
Спасибо всем за ответы и поддержку))
Поделюсь полученным плеером. Мне не жалко))
Звук играется прямо из ресурсов. Если за 5 секунд плеер не завершился мы его убиваем. На винде используем стандартный бип. Работает быстро, надёжно и универсально!) Задача решена! |
|
|
molchanoviv |
15.9.2010, 7:51
Сообщение
#19
|
Старейший участник Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: 5 |
А если у пользователя нет ALSA? Вдруг OSS стоит, или еще что?
|
|
|
512es |
15.9.2010, 13:39
Сообщение
#20
|
Участник Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: 0 |
А если у пользователя нет ALSA? Вдруг OSS стоит, или еще что? Ну alsa это вроде как стандарт начиная с ядра 2.6. И кроме того, в большинстве дистрибутивов именно alsa стоит по дефолту. OSS устарел. Существует ещё конечно много звуковых серверов, и если надо их поддерживать, можно легко заменить команду aplay -q на любую другую похожую. Например, можно в настройках программы позволить выбирать команду для проигрывания звуков. Но по любому alsa чаще встречается в системах чем рабочий и включёный системный динамик =) |
|
|
Текстовая версия | Сейчас: 27.12.2024, 21:08 |