SKAction playsoundfilenamed无法加载声音
无论我在某个项目中尝试播放哪个wav文件,都会收到相同的错误。错误状态:终止应用程序由于未捕获的异常'NSInvalidArgumentException',原因:'资源namedfile.wav无法加载'SKAction playsoundfilenamed无法加载声音
我无法使用SKAction.playSoundFilenamed加载任何类型的声音。我已经确认该文件的名称是正确的,似乎并不是问题所在。
我曾在几个项目,其中包括了以下测试游戏项目,其中我使用所有默认代码除了一个调用SKAction
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
/* Setup your scene here */
let myLabel = SKLabelNode(fontNamed:"Chalkduster")
myLabel.text = "Hello, World!";
myLabel.fontSize = 65;
myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame));
let soundfile = SKAction.playSoundFileNamed("soundProject.wav", waitForCompletion: false)
runAction(soundfile)
self.addChild(myLabel)
}
我不能让任何种类的任何声音使用SKAction加载测试这.playSoundFilenamed。我已经检查过,确保文件命名正确,并且它已经在包中退出。任何帮助将不胜感激。谢谢
UPDATE我在不同的计算机上运行我的附加代码,它编译完成并运行。我的xcode /模拟器一定有问题。有谁知道如何重置它?谢谢
当您在XCode中选择声音文件时,请访问右侧的检查器,然后确保为您的目标选择了该文件。
我按照提示检查了目标,并选择了正确的项目目标。我认为Xcode知道该文件存在但无法加载它。例如,如果我故意拼错文件名中的代码,我得到一个错误,说该文件没有找到。在这里,我得到一个错误,说资源“无法加载”。 – sc24evr 2015-03-03 18:15:54
该声音是否只播放过一次或别的地方?只是为了确保它在这里崩溃。我试图看看是否有任何限制:声音时间长度,声音文件大小,声音比特率,...你能给我提供这些信息给你的文件吗?或者甚至上传它,所以我可以尝试在我自己的应用程序中播放它。 – lchamp 2015-03-03 18:23:14
我在第二个回复中建议了另一个领导。请看看它,让我知道它是否有帮助。如果没有,请给我更多关于该文件的信息或上传它。 – lchamp 2015-03-03 18:41:59
这里是一个引导,可以帮助你。
有时SKAction对音频文件不太方便。 我还没有找到确切的(可能是:大小文件,声音长度,...)。
在这种情况下,您想要使用AVAudioPlayer
而不是它。
为了不写自己的“玩家”,我建议你使用现有的。这是一个我已经使用(SKTAudio):https://github.com/raywenderlich/SKTUtils/blob/master/SKTUtils/SKTAudio.swift
这里是如何使用它:
// For background audio (playing continuously)
SKTAudio.sharedInstance().playBackgroundMusic("music.wav") // Start the music
SKTAudio.sharedInstance().pauseBackgroundMusic() // Pause the music
SKTAudio.sharedInstance().resumeBackgroundMusic() // Resume the music
// For short sounds
SKTAudio.sharedInstance().playSoundEffect("sound.wav") // Play the sound once
请让我知道,如果该文件甚至没有与AVAudioPlayer
播放。如果是这样,它可能是一个问题,而不是它玩的方式。
你的声音文件夹是什么颜色的?
如果是蓝色,则表示它是文件夹参考。
如果它是黄色的,这是一个组。
当您导入文件夹时,您选择文件夹引用-vs-组。我发现SKAction。playSoundFilenamed仅当它作为组(黄色)加载时才能正常运行。
是,对于 “蓝色” 的文件夹,你将不得不使用建所有的轨迹: '让myBundlePath = Bundle.main.bundlePath \t \t让pathInBundle = myBundlePath + “/” + mediaFolder + “/” + name' – ingconti 2016-08-19 14:31:45
为SWIFT 3.0:
SKAction.run {
SKAction.playSoundFileNamed("soundProject.wav",
waitForCompletion: false)
}
}
当然和验证,如果资源是项目/复制阶段..
看到https://github.com/sc24evr/TestAudioSpriteKit的,给出了一个示例项目我的错误 – sc24evr 2015-03-03 23:50:31
同样的问题对我来说。我在一个项目上工作了数周,突然间加载声音时出现问题。清理或删除派生数据并不能解决问题。 – Domsware 2015-05-27 20:59:32
重新启动计算机为我解决问题。 – Domsware 2015-05-27 21:05:20