取り出すには NSDataAsset を使う。
let sound = NSDataAsset(name: name) // use sound.data
取り出したサウンドファイルを鳴らす。
import UIKit import AVFoundation class Sound: NSObject { static var player:AVAudioPlayer? static func play(name:String) { if let sound = NSDataAsset(name: name) { do { try! AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback) try! AVAudioSession.sharedInstance().setActive(true) try player = AVAudioPlayer(data: sound.data, fileTypeHint: "aif") player?.volume = 0.3 player?.play() } catch { print("error") } } } }
上記は下記サイトのコードをクラスメソッドに置き換えただけ。サウンドファイルをアセットに置くのもここで知った。
Accessing audio (and other) files stored in the Xcode asset catalog with Swift