[SceneKit專題]17-Audio音訊

蘋果API搬運工發表於2017-12-25

說明

本系列文章是對<3D Apple Games by Tutorials>一書的學習記錄和體會

此書對應的程式碼地址

SceneKit系列文章目錄

Scene Kit中的重要音訊元件:

  • SCNAudioSource(音訊資源):音訊資源物件可以表示一段音樂或音效.可以預載入到記憶體中也可以實時流讀取
  • SCNAudioPlayer(音訊播放器):本身就是SCNNode的子類,藉助SCNNode物件的位置,可以實現3D效果的音訊
  • SCNAction.playAudioSource(_:waitForCompletion:)(音訊播放動作):這是一個特殊的Action動作,可以讓SCNNode播放音訊資源

新增音樂

// 1.
if game.state == .TapToPlay {
  // 2.載入音訊資源
  let music = SCNAudioSource(fileNamed: "MrPig.scnassets/Audio/
Music.mp3")!
// 3.設定音量,迴圈播放,流讀取,空間化(是否隨位置不同有3D效果)
  music.volume = 0.3;
  music.loops = true
  music.shouldStream = true
  music.positional = false
  // 4.建立播放器
  let musicPlayer = SCNAudioPlayer(source: music)
  // 5.新增播放器
  splashScene.rootNode.addAudioPlayer(musicPlayer)
}
複製程式碼

相關文章