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を再生させるんです。