PDA

Показать полную графическую версию : Не работет BEEP в Win7 x64


NORIO
22-05-2010, 21:28
У меня есть таймер написанный на автоите. Когда он срабатывает проигрывается звуковой файл и одновременно пищит спикер.
Чтобы можно было услышать и в наушниках и без них.

Только что узнал что в Windows 7 x64 не поддерживается pc speaker его звук выводится на звуковуху.
А надо чтобы работал классический внешний системный динамик.


Причём надо что бы
на наушники подаются все звуки + сигнал таймера
а на пищалку только сигнал таймера

то есть как это обычно происходит в более старых системах (winXP)

Ищу решение как восстановить эту функцию или заменить чем-то.
Может возможно вывести на какой то отдельный канал звуковухи только этот сигнал?

Creat0R
22-05-2010, 22:52
Только что узнал что в Windows 7 x64 не поддерживается pc speaker его звук выводится на звуковуху »
Так а что ожидается тогда от AutoIt? если не поддерживается, значит так задуманно, нужно обращаться к Microsoft :)

Ищу решение как восстановить эту функцию или заменить чем-то »
Есть хотя одна функция для отключения динамика, возможно он просто отключён?

_BeepSpeakerSetState(1)
Beep(500, 300)

Func _BeepSpeakerSetState($iState=0, $iPause=500)
Switch $iState
Case 0
Run(@ComSpec & ' /c net stop beep & sc config beep start= disabled', '', @SW_HIDE)
Case Else
Run(@ComSpec & ' /c sc config beep start= system & net start beep', '', @SW_HIDE)
EndSwitch

Sleep($iPause)
EndFunc

NORIO
23-05-2010, 10:21
Creat0R,
Спасибо.
Я выяснил что в Windows 7 x64 переписали драйвер BEEP.sys так чтобы он никогда не выводил звук на спикер
а перенаправлял на звуковуху.
статья по этому поводу.
http://blogs.msdn.com/larryosterman/archive/2010/01/04/what-s-up-with-the-beep-driver-in-windows-7.aspx


Там в комменте предлагали какое то решение но оно не просто не работает но и windows 7 не смогло распознать.
то есть это решение (которое там в обсуждениях) и замена драйвера как часто советую на windows 64 абсолютно не работает
я проверял.

Остаются варианты:

1 либо вывести писк на отдельный канал звуковухи например только писк на басовый канал или rear канал
(или вывести звук на отдельное звуковое устройство, tv тюнер,модем, доп звуковуха)
+
обычный общий звук вместе с писком на наушники

но пока не вижу каких либо библиотек и приспособлений, ничего похожего на официальном форуме


2 эмулировать спикер дополнительным нестандартным устройством.
то есть абсолютно любым, хоть платкой какой то припаянной к COM порту, хоть динамиком PCI модема.
или pci плата какая то диагностическая с пищалкой, да хоть какая нибудь USB приблуда, я бы купил если б знал что.

Сейчас надо найти устройство и софт промежуточный к нему (если понадобится). Причём:

a) только нужно что то что возможно будет контролировать из скрипта
b) чтобы оно не было тормозным.




© OSzone.net 2001-2012