Swift3.0で音を鳴らすのが簡単すぎた
環境
- Swift
- Swift3.0
- Xcode
- Xcode8
- Mac
- iOS
- ios10
- iPhone
- avfoundation
実装
import AVFoundation
var soundId:SystemSoundID = 0
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
// システムサウンドへのパスを指定
if let soundUrl:NSURL = NSURL(fileURLWithPath: "/Users/UserName/Desktop/projectName/sound_folder/sound.wav") {
AudioServicesCreateSystemSoundID(soundUrl, &soundId)
AudioServicesPlaySystemSound(soundId)
}
説明
AVFoundationを使ってSwift3.0でアプリ内で音を鳴らして見たいと思います。音を鳴らすには、AVFoundationのAudioServicesPlaySystemSoundメソッドを使います。AudioServicesPlaySystemSoundはサウンドのIDを再生するという形を取りますので、soundIdを作成して、システムサウンドへのパスとsoundIdをAudioServicesCreateSystemSoundIDメソッドを使って紐付けをします。そして、AudioServicesPlaySystemSoundで実態のファイルを紐付けたIDを再生させるんです。