2015年

7月

08日

Swift SoundEffect(サウンドエフェクト バイブレーション)

iPhone アプリで効果音のような短い音を鳴らす方法です。
再生できる音は 30 秒以下の AIFF, CAF, WAV ファイルです。シュミレータでは MP3 も鳴らせましたが実機では鳴らないようです。同時に複数鳴らすことも可能です。その場合は音声ファイル毎に SystemSoundID が必要です。

 

Objective-Cの場合はこちら

Frameworks のフォルダに AudioToolbox.framework を追加が必要です。

ViewController.swift

import UIKit

import AudioToolbox


class ViewController: UIViewController {


    // システムサウンド

    var _ssId01:SystemSoundID = 0

    var _ssId02:SystemSoundID = 0

    

    override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.

        

        // 準備処理

        doReady()

    }


    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }


    // [#01]ボタン押した時

    @IBAction func play01(sender: UIButton) {

        println("サウンド3")

        AudioServicesPlaySystemSound(_ssId01)

    }


    // [#02]ボタン押した時

    @IBAction func play02(sender: UIButton) {

        println("サウンド4")

        AudioServicesPlaySystemSound(_ssId02)

    }

    

    // [振動]ボタン押した時

    @IBAction func vibtate(sender: UIButton) {

        println("サウンド5")

        // バイブレーション

        AudioServicesPlaySystemSound(SystemSoundID(kSystemSoundID_Vibrate))

    }

    

    // 準備処理

    func doReady(){

        

        println("サウンド")

        

        // 音楽ファイルの参照

        let bnd:NSBundle = NSBundle.mainBundle()

        

        // 設定#01

        let url01 = NSURL(fileURLWithPath: NSBundle.mainBundle()

            .pathForResource("mp01", ofType: "mp3")!)

        

        AudioServicesCreateSystemSoundID(url01, &_ssId01)

        AudioServicesPlaySystemSound ( _ssId01 )

        

        // 設定#02

        let url02 = NSURL(fileURLWithPath: NSBundle.mainBundle()

            .pathForResource("mp02", ofType: "mp3")!)

        

        AudioServicesCreateSystemSoundID(url02, &_ssId02)

        AudioServicesPlaySystemSound ( _ssId02 )

        

        println("サウンド2")

    }

    

}

▫️参考ページ

  

目 次