[SceneKit专题]17.Audio音频

96
作者 史前图腾
2017.04.16 17:40* 字数 184

说明

本系列文章是对<3D iOS Games by Tutorials>一书的学习记录和部分翻译,此书对应的代码地址:https://github.com/XanderXu/3D-iOS-Games-by-Tutorials-code
系列文章目录:http://www.jianshu.com/p/fd32aa0d896a

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)
}
SceneKit