【swift】 SpriteKitで効果音やBGMを鳴らす
swiftのSpriteKitというゲームフレームワークを使って効果音やBGMをならします。
iOSのバージョンで音のならし方が違います。
iOS 9.0以上の場合
SKAudioNodeが使えます。
//音楽ファイルをbackmusic.mp3とした場合 let music = SKAudioNode.init(fileNamed: "backmusic.mp3") self.addChild(music)
iOS 9.0未満の場合
SKAudioNodeが使えないためSKActionを使ってループさせます。
//音楽ファイルをbackmusic.mp3とした場合 let music = SKAction.playSoundFileNamed("backmusic.mp3", waitForCompletion: true) let repeatmusic = SKAction.repeatAction(music, count: 10000) self.runAction(repeatmusic)
どっちでも対応したい場合
iOSのバージョンを取得して対応します
if #available(iOS 9.0, *) { let music = SKAudioNode.init(fileNamed: "backmusic.mp3") self.addChild(music) } else { // 9.0より下のバージョンの時 let music = SKAction.playSoundFileNamed("backmusic.mp3", waitForCompletion: true) let repeatmusic = SKAction.repeatAction(music, count: 10000) self.runAction(repeatmusic) }
SKAudioNodeは簡単に使えますが、まだiOS 9.0未満も多いのでSKActionも必要そうです。
以上です。