🎶

[最新版]iOSで使用可能なSystem SoundのID一覧

2023/09/21に公開
4

システムサウンドについてまとめました

システムサウンドの再生

システムサウンドを再生するには、AudioToolboxフレームワークを活用します。
システムサウンドはユニークなIDに関連付けられており、そのIDを指定することで再生します。
以下は、アプリにbundleされた音声ファイルをシステムサウンドとして利用するコードの例です。

import AudioToolbox

var soundID: SystemSoundID = 0
if let soundURL = Bundle.main.url(forResource: "sound", withExtension: "caf") {
    AudioServicesCreateSystemSoundID(soundURL as CFURL, &soundID)
}

AudioServicesPlaySystemSound(soundID)  // sound.cafファイルの再生

予め用意されたシステムサウンド

上記では、自ら用意した音声ファイルを用いた再生方法を示しましたが、iOSに予め用意されたシステムサウンドが複数あります。
例えば、IDに1001を指定すると、メール送信音を再生することができます。

しかし、Apple公式では、どのIDを指定すればどんなサウンドが再生されるのかの情報を提供していません。
よって、いくつかのサイトで公開されているようなSystemSoundIDの表を参考に必要なIDを取得し、これを指定する必要がありました。

iOSのバージョンとシステムサウンド

iOSはバージョン更新のたびにさまざまな機能が追加されていますが、その中で使用されているサウンドもどんどん増えています。
これらの追加されたサウンドにも、対応するSystemSoundIDが存在しますが、どのサイトでも更新されたいませんでした。
(iOS7前後までの情報しか確認できませんでした)

そのため、iOS17が公開されたこれを機に、利用可能なSysystemSoundIDの一覧を取得しまとめておくことにしました。

[最新版]利用可能なSystemSoundID一覧

解析して使用可能なSystemSound一覧を取得しました。
1つの音声に対し、複数の番号が割り当てられているものもあります。

iOS16.0以降に関しては、どのiOSバージョンからそのIDが使用可能にあったのかを記載しております。
(15より前に追加された物に関しては、いつ追加されたのかを調べていません。気が向いたらやります。)


SystemSoundID File Name version
30 ringback_tone_ansi.caf
31 ringback_tone_cept.caf
32 busy_tone_ansi.caf
33 busy_tone_cept.caf
34 call_waiting_tone_ansi.caf
35 call_waiting_tone_cept.caf
36 end_call_tone_cept.caf
37 ringback_tone_hk.caf
38 ringback_tone_aus.caf
39 ringback_tone_uk.caf
1000 new-mail.caf
1001 mail-sent.caf
1002 sms-received1.caf
1003 ReceivedMessage.caf
1004 SentMessage.caf
1005 alarm.caf
1006 low_power.caf
1007 sms-received1.caf
1008 sms-received2.caf
1009 sms-received3.caf
1010 sms-received4.caf
1012 sms-received1.caf
1013 sms-received5.caf
1014 sms-received6.caf
1015 sms-received1.caf
1016 tweet_sent.caf
1017 alarm.caf
1018 Swish.caf
1020 Anticipate.caf
1021 Bloom.caf
1022 Calypso.caf
1023 Choo_Choo.caf
1024 Descent.caf
1025 Fanfare.caf
1026 Ladder.caf
1027 Minuet.caf
1028 News_Flash.caf
1029 Noir.caf
1030 Sherwood_Forest.caf
1031 Spell.caf
1032 Suspense.caf
1033 Telegraph.caf
1034 Tiptoes.caf
1035 Typewriters.caf
1036 Update.caf
1050 ussd.caf
1051 SIMToolkitCallDropped.caf
1052 SIMToolkitGeneralBeep.caf
1053 SIMToolkitNegativeACK.caf
1054 SIMToolkitPositiveACK.caf
1055 SIMToolkitSMS.caf
1057 Tink.caf
1060 WebcamStart.caf iOS16~
1070 ct-busy.caf
1071 ct-congestion.caf
1072 ct-path-ack.caf
1073 ct-error.caf
1074 ct-call-waiting.caf
1075 ct-keytone2.caf
1100 lock.caf
1103 Tink.caf
1104 key_press_click.caf
1105 Tock.caf
1106 connect_power.caf
1107 RingerChanged.caf
1108 photoShutter.caf
1109 shake.caf
1110 jbl_begin.caf
1111 jbl_confirm.caf
1112 jbl_cancel.caf
1113 begin_record.caf
1114 end_record.caf
1115 jbl_ambiguous.caf
1116 jbl_no_match.caf
1117 begin_record.caf
1118 end_record.caf
1119 camera_shutter_burst.caf
1120 airdrop_invite.caf iOS17~
1121 camera_shutter_burst_begin.caf
1122 camera_shutter_burst_end.caf
1123 key_press_click.caf
1124 focus_change_keyboard.caf
1125 focus_change_app_icon.caf
1126 focus_change_large.caf
1127 focus_change_small.caf
1128 navigation_push.caf
1129 navigation_pop.caf
1130 keyboard_press_normal.caf
1131 keyboard_press_delete.caf
1132 keyboard_press_clear.caf
1150 vc~invitation-accepted.caf
1151 vc~ringing.caf
1152 vc~ended.caf
1153 ct-call-waiting.caf
1154 vc~ringing.caf
1155 key_press_delete.caf
1156 key_press_modifier.caf
1157 wheels_of_time.caf
1158 go_to_sleep_alert.caf
1159 warsaw.caf
1160 nfc_scan_complete.caf
1163 access_scan_complete.caf
1165 3rd_party_critical.caf
1166 PaymentReceived.caf
1167 Doorbell.caf iOS16~
1168 PaymentReceivedFailure.caf iOS16~
1200 dtmf-0.caf
1201 dtmf-1.caf
1202 dtmf-2.caf
1203 dtmf-3.caf
1204 dtmf-4.caf
1205 dtmf-5.caf
1206 dtmf-6.caf
1207 dtmf-7.caf
1208 dtmf-8.caf
1209 dtmf-9.caf
1210 dtmf-star.caf
1211 dtmf-pound.caf
1253 DeviceShutdown.caf iOS16~
1254 long_low_short_high.caf
1255 short_double_high.caf
1256 short_low_high.caf
1257 short_double_low.caf
1258 short_double_low.caf
1259 middle_9_short_double_low.caf
1260 camera_timer_final_second.caf
1261 camera_timer_countdown.caf
1262 health_notification.caf
1263 MultiwayJoin.caf
1264 MultiwayLeave.caf
1265 multiway_invitation.caf
1270 PushToTalkJoined.caf iOS16.2~
1271 PushToTalkLeft.caf iOS16.2~
1272 PushToTalkUnmute.caf iOS16.2~
1273 PushToTalkMute.caf iOS16.2~
1274 PushToTalkUnmuteFail.caf iOS16.2~
1275 SenderConfirmation.caf iOS17~
1276 ReceiverConfirmation.caf iOS17~
1277 ReceiverConnect.caf iOS17~
1300 sms-received1.caf
1301 ReceivedMessage.caf
1302 new-mail.caf
1303 mail-sent.caf
1304 alarm.caf
1305 lock.caf
1306 key_press_click.caf
1307 sms-received1.caf
1308 sms-received2.caf
1309 sms-received3.caf
1310 sms-received4.caf
1312 sms-received1.caf
1313 sms-received5.caf
1314 sms-received6.caf
1315 sms-received1.caf
1317 alarm.caf
1318 Swish.caf
1320 Anticipate.caf
1321 Bloom.caf
1322 Calypso.caf
1323 Choo_Choo.caf
1324 Descent.caf
1325 Fanfare.caf
1326 Ladder.caf
1327 Minuet.caf
1328 News_Flash.caf
1329 Noir.caf
1330 Sherwood_Forest.caf
1331 Spell.caf
1332 Suspense.caf
1333 Telegraph.caf
1334 Tiptoes.caf
1335 Typewriters.caf
1336 Update.caf
1340 PINEnterDigit_AX.caf iOS16~
1341 PINDelete_AX.caf iOS16~
1342 PINSubmit_AX.caf iOS16~
1343 PINUnexpected.caf iOS16~
1344 PINEnterDigit.caf iOS16~
1345 PINDelete.caf iOS16~
1360 connect_power.caf
1361 connect_power.caf
1362 HeadphoneAudioExposureLimitExceeded.caf
1363 HealthNotificationUrgent.caf
1364 MicMute.caf
1365 MicUnmute.caf
1366 MicUnmuteFail.caf
1367 ScreenSharingStarted.caf
1368 MediaPaused.caf
1369 MediaHandoff.caf
1370 NavigationGenericManeuver.caf
1393 ScreenCapture.caf
1394 payment_success.caf
1395 payment_failure.caf
1396 acknowledgment_sent.caf
1397 acknowledgment_received.caf
1398 nfc_scan_failure.caf
1400 Notification_Haptic.caf
1401 Ringtone_US_Haptic.caf
1402 Ringtone_UK_Haptic.caf
1403 Alarm_Haptic.caf
1404 SiriStart_Haptic.caf
1405 SiriStopSuccess_Haptic.caf
1406 SiriStopFailure_Haptic.caf
1407 Stockholm_Haptic.caf
1408 Beat_Haptic.caf
1410 DoNotDisturb_Haptic.caf
1413 Timer_Haptic.caf
1414 NavigationLeftTurn_Haptic.caf
1415 NavigationRightTurn_Haptic.caf
1416 Detent_Haptic.caf
1417 NavigationGenericManeuver_Haptic.caf
1418 CameraCountdownTick_Haptic.caf
1419 CameraCountdownImminent_Haptic.caf
1420 ET_RemoteTap_Receive_Haptic.caf
1421 ET_RemoteTap_Send_Haptic.caf
1422 ET_BeginNotification_Haptic.caf
1424 StockholmActive_Haptic.caf
1425 StockholmActiveSingleCycle_Haptic.caf
1426 StockholmFailure_Haptic.caf
1427 SedentaryTimer_Haptic.caf
1428 HourlyChime_Haptic.caf
1429 Preview_AudioAndHaptic.caf
1430 Alert_ActivityGoalAttained_Haptic.caf
1431 Alert_ActivityGoalBehind_Haptic.caf
1432 Alert_ActivityGoalClose_Haptic.caf
1433 Alert_BatteryLow_10p_Haptic.caf
1434 Alert_BatteryLow_5p_Haptic.caf
1435 Alert_Calendar_Haptic.caf
1436 Notification_Haptic.caf
1437 Notification_Haptic.caf
1438 Notification_Haptic.caf
1439 Notification_Haptic.caf
1440 Alert_PassbookBalance_Haptic.caf
1441 Alert_PassbookGeofence_Haptic.caf
1442 Alert_PhotostreamActivity_Haptic.caf
1443 Alert_ReminderDue_Haptic.caf
1444 Notification_Haptic.caf
1445 Alert_WalkieTalkie_Haptic.caf
1446 BatteryMagsafe_Haptic.caf
1447 BuddyPairingFailure_Haptic.caf
1448 BuddyPairingSuccess_Haptic.caf
1449 CameraShutter_Haptic.caf
1450 Alert_MapsDirectionsInApp_Haptic.caf
1451 MessagesIncoming_Haptic.caf
1452 MessagesOutgoing_Haptic.caf
1453 OnOffPasscodeFailure_Haptic.caf
1458 OrbLayers_Haptic.caf
1459 PhoneHangUp_Haptic.caf
1460 PhotosZoomDetent_Haptic.caf
1461 QB_Dictation_Haptic.caf
1464 StopwatchLap_Haptic.caf
1465 StopwatchReset_Haptic.caf
1466 StopwatchStart_Haptic.caf
1467 StopwatchStop_Haptic.caf
1468 TimerCancel_Haptic.caf
1469 TimerPause_Haptic.caf
1470 TimerStart_Haptic.caf
1471 TimerWheelHoursDetent_Haptic.caf
1472 WalkieTalkieActiveStart_Haptic.caf
1473 WorkoutComplete_Haptic.caf
1474 WorkoutCountdown_Haptic.caf
1475 Alert_3rdParty_Haptic.caf
1476 WorkoutSelect_Haptic.caf
1477 WorkoutPressStart_Haptic.caf
1479 TimerWheelMinutesDetent_Haptic.caf
1480 PhoneAnswer_Haptic.caf
1481 PhoneHold_Haptic.caf
1482 WalkieTalkieActiveEnd_Haptic.caf
1484 UISwitch_On_Haptic.caf
1485 UISwitch_Off_Haptic.caf
1486 UISwipe_Haptic.caf
1487 SystemStartup_Haptic.caf
1488 BuddyPairingRemoteConnection_Haptic.caf
1489 BuddyPairingRemoteTap_Haptic.caf
1490 QB_Dictation_Off_Haptic.caf
1491 RingtoneDucked_US_Haptic.caf
1492 RingtoneDucked_UK_Haptic.caf
1493 SalientNotification_Haptic.caf
1494 Notification_Salient_Haptic.caf
1495 ET_BeginNotification_Salient_Haptic.caf
1496 Alert_Calendar_Salient_Haptic.caf
1497 Notification_Salient_Haptic.caf
1498 Notification_Salient_Haptic.caf
1499 Alert_ReminderDue_Salient_Haptic.caf
1500 Notification_Salient_Haptic.caf
1501 Alert_3rdParty_Salient_Haptic.caf
1502 3rdParty_DirectionUp_Haptic.caf
1503 3rdParty_DirectionDown_Haptic.caf
1504 3rdParty_Success_Haptic.caf
1505 3rdParty_Failure_Haptic.caf
1506 3rdParty_Retry_Haptic.caf
1507 3rdParty_Start_Haptic.caf
1508 3rdParty_Stop_Haptic.caf
1509 Alarm_Nightstand_Haptic.caf
1510 Alert_BatteryLow_5p_Salient_Haptic.caf
1511 NavigationLeftTurn_Salient_Haptic.caf
1512 NavigationRightTurn_Salient_Haptic.caf
1513 NavigationGenericManeuver_Salient_Haptic.caf
1514 SedentaryTimer_Salient_Haptic.caf
1515 Alert_ActivityGoalAttained_Salient_Haptic.caf
1516 Alert_ActivityGoalBehind_Salient_Haptic.caf
1517 Alert_PassbookGeofence_Salient_Haptic.caf
1518 WorkoutSaved_Haptic.caf
1522 VoiceOver_Click_Haptic.caf
1523 SiriAutoSend_Haptic.caf
1525 HummingbirdCompletion_Haptic.caf
1526 HummingbirdNotification_Haptic.caf
1527 RemoteCameraShutterBurstBegin_Haptic.caf
1528 RemoteCameraShutterBurstEnd_Haptic.caf
1529 WorkoutPaused_Haptic.caf
1530 WorkoutResumed_Haptic.caf
1531 GoToSleep_Haptic.caf
1532 Warsaw_Haptic.caf
1533 AutoUnlock_Haptic.caf
1534 Alert_ActivityFriendsGoalAttained_Haptic.caf
1535 Alert_SpartanConnecting_Haptic.caf
1536 Alert_SpartanConnecting_LowLatency_Haptic.caf
1537 Alert_SpartanConnected_LowLatency_Haptic.caf
1538 Alert_SpartanDisconnected_LowLatency_Haptic.caf
1543 AccessScanComplete_Haptic.caf
1544 BuddyMigrationStart_Haptic.caf
1545 SOSFallDetectionPrompt_Haptic.caf
1546 SOSEmergencyContactTextPrompt_Haptic.caf
1547 WorkoutStartAutodetect.caf
1548 WorkoutCompleteAutodetect.caf
1549 WorkoutPausedAutoDetect.caf
1550 WorkoutResumedAutoDetect.caf
1551 WorkoutPaceAbove.caf
1552 WorkoutPaceBelow.caf
1553 WalkieTalkieReceiveStart_Haptic.caf
1554 WalkieTalkieReceiveEnd_Haptic.caf
1555 Alert_Health_Haptic.caf
1556 MultiwayJoin.caf
1557 MultiwayLeave.caf
1558 MultiwayInvitation.caf
1559 3rd_Party_Critical_Haptic.caf
1560 Alert_1stParty_Haptic.caf
1561 HealthNotificationUrgent.caf
1563 Siren_Countdown_Major_Haptic.caf iOS16~
1564 Siren_Countdown_Minor_Haptic.caf iOS16~
1566 Doorbell_Haptic.caf iOS16~
1567 System_Notification_Haptic.caf
1568 SOSFallDetectionPromptEscalation_Haptic.caf
1570 HealthReadingComplete_Haptic.caf
1571 HealthReadingFail_Haptic.caf
1572 HeadphoneAudioExposureLimitExceeded.caf
1573 ScreenCapture.caf
1576 PushToTalkJoined.caf iOS16.2~
1577 PushToTalkLeft.caf iOS16.2~
1578 PushToTalkUnmute.caf iOS16.2~
1579 PushToTalkMute.caf iOS16.2~
1580 PushToTalkUnmuteFail.caf iOS16.2~
1581 WorkoutPrecisionStart_Haptic.caf iOS17~
1582 IntervalEnded.caf iOS16.2~
1583 IntervalUpcoming.caf iOS16.2~
1584 Elevation.caf iOS17~
1585 SenderConfirmation.caf iOS17~
1586 ReceiverConfirmation.caf iOS17~
1587 ReceiverConnect.caf iOS17~
3001 SwTest1_Haptic.caf iOS17~

もっと簡単にシステムサウンドを使いたい

サウンドIDからは実際にどんなサウンドなのか分かりずらいです。
そのため、使用可能なシステムサウンドをenumにまとめて、サウンド名を指定することで再生可能となるライブラリを作りました。

https://github.com/p-x9/swift-system-sound

こんな感じで使用可能です。

import SystemSound

AudioServicesPlaySystemSound(.sentMessage)

これまではこんな感じに書く必要がありました。

AudioServicesPlaySystemSound(1004)

(at)available属性をつけて定義してあるので、もし使用できないOSバージョンで使用しようとするとエラーを吐いてくれるので安心して使用可能です。

終わりに

スターください。

GitHubで編集を提案

Discussion

SatSat

最近Swiftをさわり始めた者です
こちらのサイト大変ありがたく参考にさせていただいております
cafファイル名、カテゴリーとSystemSoundIDの紐付けを調べる方法を知りたいのですが
もし差し支えなければヒントでもいただけると嬉しいです
(厚かましいとは思っていますので...気が向かれたらで結構です)

MM

ありがどうございます

CoreAudioフレームワークの中身に、IDをファイルパスに変換する関数があるので、それで変換していきました

SatSat

教えていただき有難うございます
参考にさせていただきながらいろいろ試してみます