我曾尝试在我的SceneKit游戏中播放音乐,但由于没有理由而崩溃。 因此,我尝试将这三行代码添加到标准Apple游戏模板中(在viewDidLoad的末尾):
let music = SCNAudioSource(fileNamed: "Music.mp3")
let action = SCNAction.playAudio(music!, waitForCompletion: false)
ship.runAction(action)
,并且在运行时,Xcode向我显示以下消息: com.apple.scenekit.scnview-renderer(8):断点1.2
我的错误在哪里?
我试图在两个不同的Mac上编译和运行我的代码:在MacBookPro Retina上,声音运行正常,在iMac 21,5中,它崩溃了。 因此,我的代码是正确的,可能我会给苹果公司一个雷达。 请注意,两台Mac均都安装了OS Mojave(测试版)(相同版本),并且使用的Xcode是Beta。
答案 0 :(得分:1)
您必须将音频文件放入SCNAssets目录(扩展名为.scnassets),就像模板中的art.scnassets目录一样。然后播放这样的音乐:
if let source = SCNAudioSource(fileNamed: "art.scnassets/Music.mp3") {
let action = SCNAction.playAudio(source, waitForCompletion: false)
ship.runAction(action)
} else {
print("cannot find file")
}
答案 1 :(得分:-1)
我认为您正在寻找类似的东西...
ship.runAction(SKAction.playSoundFileNamed("Music.mp3",waitForCompletion:false));