F>Есть ли вообще возможность у 64 разрядной операционной системы издавать звук с помощью спикера?
у ОС — благодаря мс теперь нет. Зато у нас — есть =)
берем inpoutx64.dll, и программируем порты таймера напрямую!
у меня на win7 x64 скайп через это звонит, с помощью Skype4com
public class PortAccess
{
[DllImport("inpoutx64.dll", EntryPoint = "Out32")]
public static extern void Output(int adress, int value);
[DllImport("inpoutx64.dll", EntryPoint = "Inp32")]
public static extern int Input(int adress);
}
class Program
{
static void HBeep(int tone, int duration)
{
int div = 1193180 / tone;
PortAccess.Output(0x43, 182);
PortAccess.Output(0x42, div & 0xFF);
PortAccess.Output(0x42, (div >> 8) & 0xFF);
int v = PortAccess.Input(0x61);
PortAccess.Output(0x61, v | 0x03);
System.Threading.Thread.Sleep(duration);
v = PortAccess.Input(0x61);
PortAccess.Output(0x61, v & ~0x03);
}
}