Funzione Beep (utilapiset.h)
Genera toni semplici sull'altoparlante. La funzione è sincrona; esegue un'attesa avvisabile e non restituisce il controllo al chiamante fino al termine dell'audio.
Sintassi
BOOL Beep(
[in] DWORD dwFreq,
[in] DWORD dwDuration
);
Parametri
[in] dwFreq
Frequenza del suono, inhz. Questo parametro deve essere compreso nell'intervallo compreso tra 37 e 32.767 (da 0x25 a 0x7FFF).
[in] dwDuration
Durata del suono, in millisecondi.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
Molto tempo fa, tutti i computer PC hanno condiviso un chip timer di intervallo programmabile 8254 comune per la generazione di suoni primitivi. La funzione Beep è stata scritta specificamente per generare un segnale acustico su quel componente hardware.
In questi sistemi meno recenti, i controlli muting e volume non hanno alcun effetto su Beep; sentiresti ancora il tono. Per disattivare il tono, sono stati usati i comandi seguenti:
net stop beep
sc config beep start= disabled
Da allora, le schede audio sono diventate apparecchiature standard su quasi tutti i computer PC. Man mano che le schede audio sono diventate più comuni, i produttori iniziarono a rimuovere il vecchio chip timer dai computer. I chip sono stati esclusi anche dalla progettazione dei computer server. Il risultato è che Beep non funziona su tutti i computer senza il chip. Questo è stato corretto perché la maggior parte degli sviluppatori si era spostata a chiamare la funzione MessageBeep che usa qualsiasi dispositivo audio predefinito anziché il chip 8254.
Alla fine a causa della mancanza di hardware con cui comunicare, il supporto per Beep è stato eliminato in Windows Vista e Windows XP a 64 bit Edition.
In Windows 7 Beep è stato riscritto per passare il segnale acustico al dispositivo audio predefinito per la sessione. Questa è in genere la scheda audio, tranne quando viene eseguita in Servizi terminal, nel qual caso viene eseguito il rendering del segnale acustico nel client.
Esempio
Nell'esempio seguente viene illustrato l'utilizzo di questa funzione.
Beep( 750, 300 );
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | utilapiset.h (include Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |