risposta
Questo esce dagli altoparlanti. Come posso fare in modo che la scheda madre interna emetta un segnale acustico anziché un altoparlante? –
Dipende dal sistema operativo. Il vecchio MS-DOS ha attivato un suono della scheda madre con quello. Se si sta utilizzando un SO molto recente, mi aspetto che il kernel inneschi un segnale audio dall'altoparlante anziché utilizzare l'hardware –
modo più semplice è probbaly solo per stampare un ascii^G bell
'stdout', forse? Non c'è alcun oggetto chiamato 'out' in' namespace std'. –
sorry typo - thanks –
std::cout << '\7';
Se stai usando OS di Windows allora c'è una funzione chiamata Beep()
#include <iostream>
#include <windows.h> // WinApi header
using namespace std;
int main()
{
Beep(523,500); // 523 hertz (C5) for 500 milliseconds
cin.get(); // wait
return 0;
}
Fonte: http://www.daniweb.com/forums/thread15252.html
Per Linux basata OS c'è :
echo -e "\007" >/dev/tty10
E se non si desidera utilizzare Beep()
in finestre si può fare:
echo "^G"
Questo non è un C++ standard. Non sappiamo nemmeno se sta usando Windows. –
Il sistema operativo non è mai stato menzionato o tag – Samuel
Im non un programmatore C++, C# principalmente ma pensavo che la risorsa sarebbe stata utile, Non penso che valesse la pena di scendere, ma questa è la tua prerogativa – RobertPitt
Il carattere ASCII campana potrebbe essere quello che state cercando. Numero 7 nella tabella this.
Ci sono alcune routine specifiche del sistema operativo per il segnale acustico.
Su un sistema operativo Unix, provare the (n)curses beep() function. È probabile che questo sia più portatile rispetto alla scrittura di
'\a'
come altri hanno suggerito, sebbene per la maggior parte degli emulatori di terminale probabilmente funzionerà.In alcuni * BSD è presente il numero PC speaker device. Leggendo la sorgente del driver, l'ioctl
SPKRTONE
sembra corrispondere all'interfaccia hardware raw, ma sembra esserci anche un linguaggio di alto livello costruito attorno alle stringhewrite()
-ing per il driver, descritto nella manpage.Sembra che Linux abbia un driver simile (vedere this article per esempio, c'è anche qualche codice di esempio su this page se si scorre verso il basso un po '.).
In Windows è presente una funzione denominata Beep().
'\ a' è definito dallo standard C++ ed è estremamente portatile. Ovviamente, se si utilizza un software terminale danneggiato, tutte le scommesse sono disattivate, ma il sottosistema della console Win32 e la maggior parte dei cloni xterm elaborano tutti "\ a" correttamente. –
@Ben Voigt: correggimi se sbaglio, ma lo standard C++ specifica solo che '\ a' rappresenterà un carattere ASCII BEL; ma non specifica mai quale dovrebbe essere il comportamento dei programmi quando invia un carattere simile allo stdout. La parte che ASCII BEL == '\ a' è estremamente portabile, come hai detto tu, ma la parte del segnale acustico è un comportamento totalmente indefinito. –
@ Ben: per quanto mi riguarda, il software del terminale è rotto se * non * ha un modo di spegnere il campanello. –
cout << "\a";
In Xcode, Dopo la compilazione, è necessario eseguire il file eseguibile a mano per sentire il segnale acustico.
alternativamente in C o C++ dopo compresi stdio.h
char d=(char)(7);
printf("%c\n",d);
(char) 7 è chiamato il carattere campana.
#include<iostream>
#include<conio.h>
#include<windows.h>
using namespace std;
int main()
{
Beep(1568, 200);
Beep(1568, 200);
Beep(1568, 200);
Beep(1245, 1000);
Beep(1397, 200);
Beep(1397, 200);
Beep(1397, 200);
Beep(1175, 1000);
cout<<endl;
_getch()
return 0
}
Beethoven? https://en.m.wikipedia.org/wiki/Symphony_No._5_(Beethoven) –
@KIMTaegyoon cool –
Si potrebbe utilizzare la compilazione condizionale:
#ifdef WINDOWS
#include <Windows.h>
void beep() {
Beep(440, 1000);
}
#elif LINUX
#include <stdio.h>
void beep() {
system("echo -e "\007" >/dev/tty10");
}
#else
#include <stdio.h>
void beep() {
cout << "\a" << flush;
}
#endif
È meglio lasciare che la parte LINUX sia flessibile anche con frequenza e tempo, usando 'system ("beep - f 5000 -l 50 -r 2 ") '(vedi https://wiki.archlinux.org/index.php/PC_speaker) –
- 1. C++ emette
- 2. Suoni in C#?
- 3. vb.net system beep sound su XP
- 4. Suoni della macchina in C#
- 5. Libreria Beep per Java?
- 6. Suoni di sistema in Java
- 7. alternativa più veloce a Beep di windows.h()
- 8. Come riprodurre suoni con JavaFX
- 9. Come produrre suoni in C su Linux?
- 10. C# Response.WriteFile vs Response.TransmitFile spazio emette
- 11. Toolkit non emette segnali acustici su ubuntu
- 12. come silenziare il "beep" di MediaRecorder.start()?
- 13. Perché Toolkit.getDefaultToolkit(). Beep() non funziona in Windows?
- 14. python beep come ottenere l'ID percorso dall'url
- 15. Esportare suoni come file WAV
- 16. Buone librerie di suoni?
- 17. JFormattedTextField emette
- 18. HTTP Cancellare con Richiesta corpo emette
- 19. Suoni multipli Java
- 20. Chrome requestAnimationFrame emette
- 21. Suoni per errore di compilazione/successo in Visual C++?
- 22. FirePHP non emette nulla
- 23. Meteor collection.insert callback emette
- 24. socket.io emette più volte
- 25. AngularJS servizio eredità emette
- 26. Perché questo programma emette 64?
- 27. Perché il compilatore C# emette OpCode aggiuntivi in IL?
- 28. Perché questo programma C emette un numero negativo?
- 29. contesto IIFE emette
- 30. jquery pageContainer cellulare emette
quale sistema operativo Are You On? –
toot è un file C multipiattaforma che tenta di chiamare diversi generatori di suoni per produrre il segnale acustico. http://github.com/vareille/toot – renataflow