gpt4 book ai didi

swift - 播放声音文件时启动时出现白屏 SKAction

转载 作者:可可西里 更新时间:2023-11-01 01:10:30 26 4
gpt4 key购买 nike

我正在尝试获取要在 GameScene.swift 文件中播放的背景声音文件。但是每当我这样做并调用 run.SKAction 时,屏幕都会变白并且我会听到很多静电噪音直到它崩溃。当我注释掉 run.SKAction 时,游戏正常开始。我尝试将文件格式更改为 WAV、MP3、AAC、CAF。但同样的事情发生了。我检查了一下我是否拼错了什么,但我没有。

它给我一条消息:“来自调试器的消息:由于内存问题而终止”

重要说明:“waitForCompletion 设置为 TRUE 它似乎工作正常,在配乐的开头有一点静态然后它正常播放。但是当“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 Action ,下一次重复 Action 会在播放声音的第一个 Action 完成之前运行。第 2 次重复运行,立即导致第 3 次重复,这导致第 4 次重复,依此类推。最终您用所有 SKAction 填满了太多内存,应用程序被 iOS 终止。

我建议将 waitForCompletion 设置为 true。这样,在第一个 Action 完成播放声音之前,第二个 Action 的重复不会开始。

希望这对您有所帮助!

关于swift - 播放声音文件时启动时出现白屏 SKAction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47587235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com