Я хочу змінити звукову частоту за замовчуванням SND_BELL(яка використовується, коли \aна екрані друкується BEL або ^ G) на більш високі значення (поточний типовий показник становить приблизно 750 ГГц) .
Зрозуміло, для цього потрібен повноцінний програмний варіант.
Проблема полягає в тому, що я не розумію, як int valueIn 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змінної`?