Я хочу змінити звукову частоту за замовчуванням SND_BELL
(яка використовується, коли \a
на екрані друкується BEL або ^ G) на більш високі значення (поточний типовий показник становить приблизно 750 ГГц) .
Зрозуміло, для цього потрібен повноцінний програмний варіант.
Проблема полягає в тому, що я не розумію, як int value
In pcspkr_event()
перетворюється з заданої частоти у відповідне значення при використанні з SND_TONE
. Тому я не розумію, як value=1000
подає звуковий сигнал 750 Гц.
switch (code) {
case SND_BELL: if (value) value = 1000; // changing this line would change the default beep frequency, but why 1000 does 750Hz tone????
case SND_TONE: break; // with SND_TONE the value variable is already computed, so do nothing
default: return -1;
}
Оскільки той самий реалізатор функції SND_TONE
я вважав, що це було б гарною ідеєю отримати те, що викликає, тож я зможу знайти функцію, яка перетворює частоту. Однак, backtrace не вказує ім'я функції, яке викликає pcspkr_event, і виявилося, що перетворення все ще не виконується у функції, яка викликає його ( ìnput_handle_event()
) .
Я також не зміг знайти жодної документації щодо використання динаміка, коли немає Операційної системи.
То що таке частота відношення між частотою і значенням value
змінної`?