[iPhone] System Sound の再生

iPhone がシステムで持っている音源やバイブレータなどを再生させてみましょう。音楽再生とくれば AVFoundation の AVAudioPlayerですがAudioToolbox のフレームワークにある
AudioServicesPlaySystemSoundを使うと簡単にできます。

簡単に再生する例を作ってみます

syssound0
 

Swift 3.0
Xcode 8.0

 

sponsored link

System Sound Services

 
最初に AudioToolbox.framework をプロジェクトにインポートします。
「Build Phases」「Link Binary With Libraries」に「+」で追加
 
screen-shot-2016-09-28-at-12-03-29
 

SystemSoundID

 
IDを指定するだけでとても簡単です。IDはiPhoneでも多数選択できるように色々あります。
 

 

ファイルパスを指定して再生

 
端末内のシステムサウンドを直接指定して再生します。この場合ボリュームやミュートの影響を受けます。
 

 

独自音源ファイルパスを再生

 
サンプルとして mp3 などをプロジェクトに追加します。30秒以下などの幾つかの制限があったりします。
System Sound ServicesUsing Audio
 

 

バイブレータを再生

 
これだけ別処理で直接できます。音が出ますが音源を使わないからでしょうか
 

 

まとめてみると

ViewController.swift

 
 

Ref: System Sound Services Reference