所以,我有这个应用程序,我加入一些背景音乐,使其更好。一切都很好,但我认为背景音乐不是很好。我发现了另一个音乐文件,把它放在我的项目中,然后在代码中更新文件名并且......没有声音。困惑,我把原始文件名放回代码中......仍然没有声音。所以...以前工作的东西不再有效 - 而且我没有对xcode /等做任何更新或任何事情。有人想尝试解决这个问题吗?或者......它怎么可能发生,所以我将来可以避免它?这是代码:
import AVFoundation
var backgroundMusicPlayer: AVAudioPlayer!
// old function, works in another app but not this one ... derp
func playBackgroundMusic(filename: String) {
let url = NSBundle.mainBundle().URLForResource(
filename, withExtension: nil)
if (url == nil) {
println("Could not find file: \(filename)")
return
}
var error: NSError? = nil
backgroundMusicPlayer =
AVAudioPlayer(contentsOfURL: url, error: &error)
if backgroundMusicPlayer == nil {
println("Could not create audio player: \(error!)")
return
}
backgroundMusicPlayer.numberOfLoops = -1
backgroundMusicPlayer.prepareToPlay()
backgroundMusicPlayer.play()
}
哦,我打电话给玩家玩viewdidload:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
playBackgroundMusic("violetshrine.caf")
我已经阅读了各种关于在swift中处理声音的文章...似乎有很多不同的方法,但是,这是以前工作的代码,甚至在另一个应用程序中工作我'和这个一起建造......所以我真的很困惑(一个新生活)。感谢任何花时间阅读本文的人。
答案 0 :(得分:1)
所有图像,音频等文件都必须是捆绑资源的一部分。请检查以下2点
Product->Clean
),并在添加/删除/更新资源文件时再次运行项目。这假设您的代码正常/正常(正如您在问题中声明的那样)。