iOS 組み込みの効果音を鳴らしてみる
iOSにはいくつか組み込みの効果音が用意されていて AudioToolbox フレームワークを使うと簡単に鳴らすことが出来ます。
手順
- プロジェクトに AudioToolbox.framework を追加します。
- AudioServices.h をインポートします。
- AudioServicesPlaySystemSound 関数を実行します。引数にはサウンド ID を渡します。
#import "RootViewController.h" #import <AudioToolbox/AudioServices.h> @implementation RootViewController - (IBAction)onClick:(id)sender { AudioServicesPlaySystemSound(1000); } @end
音の種類
サウンド ID は1000から1017まで全部で18種類あります(同じ音でも振動が違ったりしてます)。おなじみのメール送信や着信の音からこんな音どこで使うんだという音まで結構いろいろ入ってます。
サウンド ID | 音 | 振動 |
---|---|---|
1000 | Eメール着信 | 1回 |
1001 | Eメール送信 | なし |
1002 | SMSやノーティフィケーションの着信 | 1回 |
1003 | SMS着信(SMSアプリ内) | 2回 |
1004 | SMS送信 | なし |
1005 | ピポピポ | 1回 |
1006 | 缶を叩いたような音 | なし |
1007 | 1002と同じ | 2回 |
1008 | チリーン | 2回 |
1009 | トライアングルのような音 | 2回 |
1010 | パフパフ | 2回 |
1011 | なし | 2回 |
1012 | 1007と同じ | 2回 |
1013 | カーン | 2回 |
1014 | ピポポポポ | 2回 |
1015 | 1002と同じ | 1回 |
1016 | フィフー | なし |
1017 | 1005と同じ | 1回(長い) |
番外編
音なしでバイブだけ鳴らしたいのであれば AudioServicesPlayAlertSound 関数を使う方法があります。
#import "RootViewController.h" #import <AudioToolbox/AudioServices.h> @implementation RootViewController - (IBAction)onClick:(id)sender { AudioServicesPlayAlertSound(kSystemSoundID_Vibrate); } @end
上の表のサウンド ID 1011 との違いは 1011 は短いバイブが2回なのに対し kSystemSoundID_Vibrate は長いバイブが1回です。