Come possiamo emettere suoni nel nostro programma C?
Fare suoni non fa parte delle librerie standard del C, quindi avete bisogno di qualche libreria speciale per fare suoni. E quella libreria dipenderà dal vostro hardware e sistema operativo.
Il fatto è che il C è usato da sistemi molto piccoli come la scheda Arduino, vecchi sistemi MS-DOS, Windows, Linux e MacOS ma anche su grandi sistemi mainframe che hanno solo un terminale. Poiché diversi sistemi operativi sono in grado di simulare un modus terminale, fare un bip significherebbe fondamentalmente che si invia un carattere [BELL] al terminale, che il terminale tradurrà in un bip.
Senza il terminale, avreste bisogno di una libreria che abbia accesso all'hardware del sistema, in particolare la scheda audio e/o gli altoparlanti. Windows, Linux e MacOS hanno tutte varie librerie relative al suono che vi permettono di scegliere qualsiasi effetto sonoro vi piaccia. Questo potrebbe essere un semplice beep o un vero suono di campana attraverso il bor MIDI o semplicemente un file MP3/WAV che viene riprodotto sull'altoparlante attraverso la scheda audio. Comunque, niente altoparlanti significa niente suono.
Per l'Arduino, è ancora più complesso in quanto dovreste decidere che tipo di hardware sonoro attaccare e usarlo inviando segnali su un pin. Il numero di soluzioni in questo caso è molto maggiore che sui normali computer, ma anche molto specifico per l'hardware.
C è pensato per compilare e funzionare su quante più piattaforme possibili. Nessuno ha mai considerato il requisito del suono nel C standard. Perché? Perché allora il C usava un terminale e un terminale poteva elaborare il carattere [BEEP], se i suoni erano necessari. Ma i suoni erano anche considerati fastidiosi a quei tempi, perché l'intero ufficio avrebbe sentito il bip del vostro computer. Quindi i suoni non sono mai arrivati allo standard C.
Articoli simili
- Sono molto sensibile ai suoni quando dormo. C'è un'alternativa migliore dei tappi per le orecchie per eliminare i suoni esterni?
- Si può emettere la frequenza FM dal telefono?
- Qual è l'opzione per emettere le informazioni sulla versione di LS?
- Come possiamo proteggere il nostro telefono dal malware? Se c'è qualche software malware nel mio telefono, come faccio a saperlo?