播放声音文件时启动时出现白屏 SKAction
White Screen appears at launch when a sound file played SKAction
我正在尝试获取要在 GameScene.swift 文件中播放的背景声音文件。但是每当我这样做并调用 run.SKAction 时,屏幕就会变白并且我会听到很多静电噪音直到它崩溃。当我注释掉 run.SKAction 时,游戏正常开始。我尝试将文件格式更改为 WAV、MP3、AAC、CAF。但同样的事情发生了。我检查了一下我是否拼错了什么,但我没有。
它给我一条消息说:"Message from debugger: Terminated due to memory issue"
重要说明:"waitForCompletion is set to TRUE it seems to work fine with a little static at the beginning of the soundtrack then it plays normally. but when "waitForCompletion" 设置为 FALSE 我得到白屏。我有时还会收到一条消息:
SKAction:加载声音资源时出错:"Entry.m4a"
我尝试了几个不同的配乐文件,但它总是会发生。
这是 GameScene() 的开头:
class GameScene: SKScene {
var SpaceShip2 = SKSpriteNode(imageNamed:"IntroSpaceShip")
var GameSceneSound = SKAction.playSoundFileNamed("BackgroundSound.wav", waitForCompletion: false)
}
这里是我用来调用声音的函数:
func playsound(soundVariable: SKAction){
run(SKAction.repeatForever(soundVariable))
}
这是我调用它的时间:
override func didMove(to view: SKView) {
playsound(soundVariable: GameSceneSound)
}
谁能帮帮我!
提前致谢!
由于waitForCompletion
设置为false,所以当运行时动作被认为是立即完成的。由于这是一个 repeatForever
动作,因此在第一个播放声音的动作完成之前 运行 秒重复该动作。第 2 次重复 运行s,立即导致第 3 次重复,导致第 4 次重复,等等。最终你用所有 SKActions 填满了太多内存,应用程序被终止 iOS。
我建议将 waitForCompletion
设置为 true
。这样,在第一个动作完成播放声音之前,第二个动作不会开始。
希望对您有所帮助!
我正在尝试获取要在 GameScene.swift 文件中播放的背景声音文件。但是每当我这样做并调用 run.SKAction 时,屏幕就会变白并且我会听到很多静电噪音直到它崩溃。当我注释掉 run.SKAction 时,游戏正常开始。我尝试将文件格式更改为 WAV、MP3、AAC、CAF。但同样的事情发生了。我检查了一下我是否拼错了什么,但我没有。
它给我一条消息说:"Message from debugger: Terminated due to memory issue"
重要说明:"waitForCompletion is set to TRUE it seems to work fine with a little static at the beginning of the soundtrack then it plays normally. but when "waitForCompletion" 设置为 FALSE 我得到白屏。我有时还会收到一条消息:
SKAction:加载声音资源时出错:"Entry.m4a"
我尝试了几个不同的配乐文件,但它总是会发生。
这是 GameScene() 的开头:
class GameScene: SKScene {
var SpaceShip2 = SKSpriteNode(imageNamed:"IntroSpaceShip")
var GameSceneSound = SKAction.playSoundFileNamed("BackgroundSound.wav", waitForCompletion: false)
}
这里是我用来调用声音的函数:
func playsound(soundVariable: SKAction){
run(SKAction.repeatForever(soundVariable))
}
这是我调用它的时间:
override func didMove(to view: SKView) {
playsound(soundVariable: GameSceneSound)
}
谁能帮帮我!
提前致谢!
由于waitForCompletion
设置为false,所以当运行时动作被认为是立即完成的。由于这是一个 repeatForever
动作,因此在第一个播放声音的动作完成之前 运行 秒重复该动作。第 2 次重复 运行s,立即导致第 3 次重复,导致第 4 次重复,等等。最终你用所有 SKActions 填满了太多内存,应用程序被终止 iOS。
我建议将 waitForCompletion
设置为 true
。这样,在第一个动作完成播放声音之前,第二个动作不会开始。
希望对您有所帮助!