2017-11-25 2 views
0

ARKit、SceneKitゲームにポジティブオーディオとインタラクティブオーディオを追加しましたが、アプリケーションの実行中および再生中に再生されるバックグラウンドオーディオを追加したいだけです。私はSceneKitのサウンドやメディアプレイヤーを使うことができましたが、もっとシンプルな方法が必要なようですね。しかし、私はこれらのより複雑なオプションを見つけるだけであり、私はこのアプリでは機能の過度なものを使用したくない。バックグラウンドミュージックを再生するための本当に単純なメカニズムがあるかどうかは誰にも知られていますか?Swift iOSアプリにBGMを追加する最も簡単な方法は何ですか?

答えて

1

AVPlayerはかなりシンプルです。ここでは、URLまたはファイル名からinitに拡張し、オーディオをループします:

extension AVPlayer { 
    convenience init?(url: URL) { 
     let playerItem = AVPlayerItem(url: url) 
     self.init(playerItem: playerItem) 
    } 
    convenience init?(name: String, extension ext: String) { 
     guard let url = Bundle.main.url(forResource: name, withExtension: ext) else { 
      return nil 
     } 
     self.init(url: url) 
    } 
    func playFromStart() { 
     seek(to: CMTimeMake(0, 1)) 
     play() 
    } 
    func playLoop() { 
     playFromStart() 
     NotificationCenter.default.addObserver(forName: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: self.currentItem, queue: nil) { notification in 
      if self.timeControlStatus == .playing { 
       self.playFromStart() 
      } 
     } 
    } 
    func endLoop() { 
     pause() 
     NotificationCenter.default.removeObserver(self, name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: self) 
    } 
} 
関連する問題