swiftのSpriteKitというゲームフレームワークを使って効果音やBGMをならします。
iOSのバージョンで音のならし方が違います。
まずは、再生用のAVFoundationをインポートします。
1 2 3 |
import SpriteKit //音楽再生用のフレームワーク import AVFoundation |
iOS 9.0以上の場合
SKAudioNodeが使えます。
1 2 3 |
//音楽ファイルをbackmusic.mp3とした場合 let music = SKAudioNode.init(fileNamed: "backmusic.mp3") self.addChild(music) |
iOS 9.0未満の場合
SKAudioNodeが使えないためSKActionを使ってループさせます。
1 2 3 4 |
//音楽ファイルをbackmusic.mp3とした場合 let music = SKAction.playSoundFileNamed("backmusic.mp3", waitForCompletion: true) let repeatMusic = SKAction.repeatAction(music, count: 10000) self.runAction(repeatMusic) |
どっちでも対応したい場合
iOSのバージョンを取得して対応します
1 2 3 4 5 6 7 8 9 |
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も必要そうです。
以上となります。