Asset Catalog にサウンドファイルをおく

2015年11月17日火曜日 | Published in | 0 コメント

このエントリーをはてなブックマークに追加

Asset Catalogには画像以外のデータも置ける。サウンドファイル(.aif)を置いてみた。


取り出すには 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

人気の投稿(過去 30日間)