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

Vedere anche

Funzioni di gestione degli errori

MessageBeep

Notifica all'utente