Forse non tutti sanno che… titolava una rubrica di un famoso settimanale di enigmistica e questo articolo potrebbe rientrarci a pieno diritto. Vi mai capitato di avere necessità di attribuire a un bottone, a uno slide o una determinata azione un suono? Se la risposta è si, allora vi sarà anche capitato di vagare per interminabili ore alla ricerca del suono giusto navigando tra i più disparati siti di sample sounds gratuiti e a pagamento.
Quello che non tutti i programmatori sanno è che iOS è già bello ricco di suoni. Già, proprio così! Avete presente tutti quei suoni che sentite nelle applicazioni di sistema? Dal suono di invio mail a quello di unlock del dispositivo, per non parlare poi di tutte le possibili suonerie sia per le chiamate, che per i messaggi e ultimi, ma non meno importanti i toni DTFM del tastierino numerico per le chiamate. (Suoni con cui anche Jobs e Wozniak “giocarono” a inizio carriera).
Musica per le nostre orecchie
Ebbene, vi riportiamo di seguito un elenco di tutti i suoni di iOS, ognuno con: Sound ID, nome del file, descrizione e da che versione di iOS è presente (scovati al seguente indirizzo) e a seguire vedremo come utilizzarli nelle nostre applicazioni iPhone e iPad.
| Sound ID | Nome del file | Descrizione Suono | Presente dalla versione |
| 1000 | new-mail.caf | Mail Ricevuta | Tutte le versioni |
| 1001 | mail-sent.caf | Mail Inviata | Tutte le versioni |
| 1002 | Voicemail.caf | Voicemail Ricevuta | Tutte le versioni |
| 1003 | ReceivedMessage.caf | SMS Ricevuto | Tutte le versioni |
| 1004 | SentMessage.caf | SMS Spedito | Tutte le versioni |
| 1005 | alarm.caf | Allarme Calendario | Tutte le versioni |
| 1006 | low_power.caf | Batteria Scarica | Tutte le versioni |
| 1007 | sms-received1.caf | SMS Ricevuto | Tutte le versioni |
| 1008 | sms-received2.caf | SMS Ricevuto | Tutte le versioni |
| 1009 | sms-received3.caf | SMS Ricevuto | Tutte le versioni |
| 1010 | sms-received4.caf | SMS Ricevuto | Tutte le versioni |
| 1011 | – | Vibrazione SMS Ricevuto | Tutte le versioni |
| 1012 | sms-received1.caf | SMS Ricevuto | Tutte le versioni |
| 1013 | sms-received5.caf | SMS Ricevuto | Tutte le versioni |
| 1014 | sms-received6.caf | SMS Ricevuto | Tutte le versioni |
| 1015 | Voicemail.caf | Voicemail Ricevuta | Disponibile da iOS 2.1 |
| 1016 | tweet_sent.caf | Tweet Inviato | Disponibile da iOS 6.0 |
| 1020 | Anticipate.caf | SMS Ricevuto | Disponibile da iOS 4.2 |
| 1021 | Bloom.caf | SMS Ricevuto | Disponibile da iOS 4.2 |
| 1022 | Calypso.caf | SMS Ricevuto | Disponibile da iOS 4.2 |
| 1023 | Choo_Choo.caf | SMS Ricevuto | Disponibile da iOS 4.2 |
| 1024 | Descent.caf | SMS Ricevuto | Disponibile da iOS 4.2 |
| 1025 | Fanfare.caf | SMS Ricevuto | Disponibile da iOS 4.2 |
| 1026 | Ladder.caf | SMS Ricevuto | Disponibile da iOS 4.2 |
| 1027 | Minuet.caf | SMS Ricevuto | Disponibile da iOS 4.2 |
| 1028 | News_Flash.caf | SMS Ricevuto | Disponibile da iOS 4.2 |
| 1029 | Noir.caf | SMS Ricevuto | Disponibile da iOS 4.2 |
| 1230 | Sherwood_Forest.caf | SMS Ricevuto | Disponibile da iOS 4.2 |
| 1031 | Spell.caf | SMS Ricevuto | Disponibile da iOS 4.2 |
| 1032 | Suspense.caf | SMS Ricevuto | Disponibile da iOS 4.2 |
| 1033 | Telegraph.caf | SMS Ricevuto | Disponibile da iOS 4.2 |
| 1034 | Tiptoes.caf | SMS Ricevuto | Disponibile da iOS 4.2 |
| 1035 | Typewriters.caf | SMS Ricevuto | Disponibile da iOS 4.2 |
| 1036 | Update.caf | SMS Ricevuto | Disponibile da iOS 4.2 |
| 1050 | ussd.caf | SIMToolkitTone | Tutte le versioni |
| 1051 | SIMToolkitCallDropped.caf | SIMToolkitTone | Tutte le versioni |
| 1052 | SIMToolkitGeneralBeep.caf | SIMToolkitTone | Tutte le versioni |
| 1053 | SIMToolkitNegativeACK.caf | SIMToolkitTone | Tutte le versioni |
| 1054 | SIMToolkitPositiveACK.caf | SIMToolkitTone | Tutte le versioni |
| 1055 | SIMToolkitSMS.caf | SIMToolkitTone | Tutte le versioni |
| 1057 | Tink.caf | Suono tastierino codice PIN | Tutte le versioni |
| 1070 | ct-busy.caf | Suono di chiamata | Disponibile da iOS 4.0 |
| 1071 | ct-congestion.caf | Suono di chiamata | Disponibile da iOS 4.0 |
| 1072 | ct-path-ack.caf | Suono di chiamata | Disponibile da iOS 4.0 |
| 1073 | ct-error.caf | Suono di chiamata | Disponibile da iOS 4.0 |
| 1074 | ct-call-waiting.caf | Suono di chiamata | Disponibile da iOS 4.0 |
| 1075 | ct-keytone2.caf | Suono di chiamata | Disponibile da iOS 4.0 |
| 1100 | lock.caf | Suono “blocca schermo” | Tutte le versioni |
| 1101 | unlock.caf | Suono “sblocca schermo” | Tutte le versioni |
| 1103 | Tink.caf | KeyPressed | Tutte le versioni |
| 1104 | Tock.caf | Suono tastiera | Tutte le versioni |
| 1105 | Tock.caf | Suono tastiera | Tutte le versioni |
| 1106 | beep-beep.caf | Conessione ricarica | Tutte le versioni |
| 1107 | RingerChanged.caf | Interruttore suoneria | Tutte le versioni |
| 1108 | photoShutter.caf | Scatto fotografica | Tutte le versioni |
| 1109 | shake.caf | “ShakeToShuffle” | Disponibile da iOS 3.0 |
| 1110 | jbl_begin.caf | Inizio JBL | Disponibile da iOS 3.0 |
| 1111 | jbl_confirm.caf | Conferma JBL | Disponibile da iOS 3.0 |
| 1112 | jbl_cancel.caf | Cancellazione JBL | Disponibile da iOS 3.0 |
| 1114 | end_record.caf | Fine Registrazione | Disponibile da iOS 3.0 |
| 1115 | jbl_ambiguous.caf | JBL Ambiguo | Disponibile da iOS 3.0 |
| 1116 | jbl_no_match.caf | JBL senza corrispondenza | Disponibile da iOS 3.0 |
| 1117 | begin_video_record.caf | Inizio registrazione video | Disponibile da iOS 3.0 |
| 1118 | end_video_record.caf | Fine registrazione Video | Disponibile da iOS 3.0 |
| 1150 | vc~invitation-accepted.caf | VC Invito accettato | Disponibile da iOS 4.0 |
| 1151 | vc~ringing.caf | VC Suono | Disponibile da iOS 4.0 |
| 1152 | vc~ended.caf | VC Fine | Disponibile da iOS 4.0 |
| 1153 | ct-call-waiting.caf | VC Chiamata in attesa | Disponibile da iOS 4.1 |
| 1154 | vc~ringing.caf | VC Chiamata aggiornata | Disponibile da iOS 4.1 |
| 1200 | dtmf-0.caf | DTFM 0 | Tutte le versioni |
| 1201 | dtmf-1.caf | DTFM 1 | Tutte le versioni |
| 1202 | dtmf-2.caf | DTFM 2 | Tutte le versioni |
| 1203 | dtmf-3.caf | DTFM 3 | Tutte le versioni |
| 1204 | dtmf-4.caf | DTFM 4 | Tutte le versioni |
| 1205 | dtmf-5.caf | DTFM 5 | Tutte le versioni |
| 1206 | dtmf-6.caf | DTFM 6 | Tutte le versioni |
| 1207 | dtmf-7.caf | DTFM 7 | Tutte le versioni |
| 1208 | dtmf-8.caf | DTFM 8 | Tutte le versioni |
| 1209 | dtmf-9.caf | DTFM 9 | Tutte le versioni |
| 1210 | dtmf-star.caf | DTFM asterisco | Tutte le versioni |
| 1211 | dtmf-pound.caf | DTFM cancelletto | Tutte le versioni |
| 1254 | long_low_short_high.caf | Inizio chiamata da auricolari | Tutte le versioni |
| 1255 | short_double_high.caf | Redial da auricolari | Tutte le versioni |
| 1256 | short_low_high.caf | Risposta chiamata da auricolari | Tutte le versioni |
| 1257 | short_double_low.caf | Fine chiamata da da auricolari | Tutte le versioni |
| 1258 | short_double_low.caf | Chiamata in attesa da auricolari | Tutte le versioni |
| 1259 | middle_9_short_double_low.caf | Headset_TransitionEnd | Tutte le versioni |
| 1300 | Voicemail.caf | Preview Suono | Tutte le versioni |
| 1301 | ReceivedMessage.caf | Preview Suono | Tutte le versioni |
| 1302 | new-mail.caf | Preview Suono | Tutte le versioni |
| 1303 | mail-sent.caf | Preview Suono | Tutte le versioni |
| 1304 | alarm.caf | Preview Suono | Tutte le versioni |
| 1305 | lock.caf | Preview Suono | Tutte le versioni |
| 1306 | Tock.caf | Preview Suono | Disponibile da iOS 3.2. |
| 1307 | sms-received1.caf | Preview Suono | Tutte le versioni |
| 1308 | sms-received2.caf | Preview Suono | Tutte le versioni |
| 1309 | sms-received3.caf | Preview Suono | Tutte le versioni |
| 1310 | sms-received4.caf | Preview Suono | Tutte le versioni |
| 1311 | – | Vibrazione Ricezione SMS | Tutte le versioni |
| 1312 | sms-received1.caf | Preview Suono | Tutte le versioni |
| 1313 | sms-received5.caf | Preview Suono | Tutte le versioni |
| 1314 | sms-received6.caf | Preview Suono | Tutte le versioni |
| 1315 | Voicemail.caf | Preview Suono | Disponibile da iOS 2.1 |
| 1320 | Anticipate.caf | Preview Suono | Disponibile da iOS 4.2 |
| 1321 | Bloom.caf | Preview Suono | Disponibile da iOS 4.2 |
| 1322 | Calypso.caf | Preview Suono | Disponibile da iOS 4.2 |
| 1323 | Choo_Choo.caf | Preview Suono | Disponibile da iOS 4.2 |
| 1324 | Descent.caf | Preview Suono | Disponibile da iOS 4.2 |
| 1325 | Fanfare.caf | Preview Suono | Disponibile da iOS 4.2 |
| 1326 | Ladder.caf | Preview Suono | Disponibile da iOS 4.2 |
| 1327 | Minuet.caf | Preview Suono | Disponibile da iOS 4.2 |
| 1328 | News_Flash.caf | Preview Suono | Disponibile da iOS 4.2 |
| 1329 | Noir.caf | Preview Suono | Disponibile da iOS 4.2 |
| 1330 | Sherwood_Forest.caf | Preview Suono | Disponibile da iOS 4.2 |
| 1331 | Spell.caf | Preview Suono | Disponibile da iOS 4.2 |
| 1332 | Suspense.caf | Preview Suono | Disponibile da iOS 4.2 |
| 1333 | Telegraph.caf | Preview Suono | Disponibile da iOS 4.2 |
| 1334 | Tiptoes.caf | Preview Suono | Disponibile da iOS 4.2 |
| 1335 | Typewriters.caf | Preview Suono | Disponibile da iOS 4.2 |
| 1336 | Update.caf | Preview Suono | Disponibile da iOS 4.2 |
| 1350 | – | Vibrazione Suoneria | Tutte le versioni |
| 1351 | – | Vibrazione Silenzioso | Tutte le versioni |
Come vedete ce n’è veramente per tutti i giusti (Alcuni suoni sembrano ripetersi, ma in realtà sono le preview).
Da notare come i Sound ID 1011, 1311 1350 e 1351 non siano veri e propri suoni, ma vibrazioni.
Come utilizzare i suoni di sistema nelle applicazioni iOS
Ok, li abbiamo trovati, ma ora vediamo come riprodurre questi suoni:
Per prima cosa importiamo l’AudioToolbox.framework
#import <AudioToolbox/AudioToolbox.h>
Successivamente potrete riprodurre il suono tramite:
AudioServicesPlaySystemSound(SoundID);
Neanche a dirlo, al posto di SoundID dovete inserire proprio l’ID del suono che desiderate riprodurre! Semplice, no?
A mio giudizio ci sono due cose da tenere bene a mente quando usiamo questi suoni:
- Apple potrebbe non vedere di buon occhio questa cosa sopratutto se i suoni sono usati in modo da confondere volutamente l’utente.
Personalmente ho usato il suono di sblocco su dei bottoni e non ho avuto problemi. - Tenere sempre d’occhio da che versione di iOS è presente il suono, se l’applicazione verrà “runnata” su di un sistema che non lo contiene potrebbe andare in crash.
Il miglio in più..
Se invece volete qualcosa di diverso a rischio di perdervi nel cercarlo vi lascio un paio di link di siti a me sempre utili:
- FreeSound – http://www.freesound.org
Enorme database gratuito con suoni di ogni genere, catalogati (alla ben e meglio) per parole chiave, è necessaria la registrazione per effettuare il download.
- FidSound – http://www.findsounds.com
Sito altrettanto valido anche se un po’ più “grezzo”.
- Free-Loops – http://free-loops.com
È invece specializzato in loop, ideali ad esempio di sottofondo per un gioco, contiene sia materiale gratuito che a pagamento.
Bene, ora potete sbizzarrivi e riempire le vostre app con suoni di ogni sorta… e ricordatevi di gestire come si deve l’AVAudioSession.
Se avete domande o integrazioni non esitate a commentare o aprire una discussione sul nostro forum.
Acunamatata










2 Responses to “TIPS#019 – Come utilizzare i suoni di sistema nelle applicazioni iOS”
11 Febbraio 2013
freellinova aggiunto che ‘AudioServicesPlaySystemSound’ è consigliato solo per suoni di breve durata (<30'').
11 Febbraio 2013
freellinova aggiunto che ‘AudioServicesPlaySystemSound’ è consigliato solo per suoni di breve durata (<30'') e solo per formati lossless