iPhone アプリで効果音のような短い音を鳴らす方法です。
再生できる音は 30 秒以下の AIFF, CAF, WAV ファイルです。シュミレータでは MP3
も鳴らせましたが実機では鳴らないようです。同時に複数鳴らすことも可能です。その場合は音声ファイル毎に SystemSoundID が必要です。
Frameworks のフォルダに AudioToolbox.framework
を追加が必要です。
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")
}
}
GitHub SoundEffectSwift
▫️参考ページ
コメントをお書きください