[英]How to add sound files to your bundle in Xcode?
我正在嘗試制作一個有聲音的應用程序。 我在如何在 Xcode 中向應用程序添加聲音之前問過一個問題,但是每次運行應用程序時,控制台都會拋出此錯誤,編寫代碼時MagicSound.wav does not exist in main bundle
我基本上告訴程序崩潰application 和 write MagicSound.wav does not exist in main bundle
如果它成為真的MagicSound.wav does not exist in main bundle
。 我的問題是如何將文件(特別是聲音文件)添加到 Xcode 中的包中。 我一直認為將文件放入您的資產中與將其放入您的包中是一回事。
這是我的代碼,
import UIKit
import AVFoundation
class ViewController: UIViewController {
var magicSound: AVAudioPlayer = AVAudioPlayer()
@IBOutlet var Answer: UILabel!
var AnswerArray = ["Yes", "No", "Maybe", "Try Again", "Not Now", "No Doubt", "Yes Indeed", "Of course", "Definetley Not"]
var chosenAnswer = 0
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
if let magicFile = Bundle.main.path(forResource: "MagicSound", ofType: "wav") {
_ = try? AVAudioPlayer(contentsOf: URL (fileURLWithPath: magicFile))
}
else {
print( "MagicSound.wav does not exist in main bundle" )
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func motionEnded(_ motion: UIEventSubtype, with event: UIEvent?) {
if event?.subtype == motion {
printAnswer()
randomAnswer()
animation()
showingAnswerAnimation()
magicSound.play()
}
}
如果有人可以提供幫助,那就太好了!
謝謝。
這個答案是 Google 搜索“如何在 Xcode 中將聲音文件添加到您的包中?”的頂部,因此為了幫助像我這樣的新手,這里將逐步介紹如何在 Xcode 中將聲音添加到您的包中。 (簡短的回答,只需將它們拖到側邊欄中並選中“如果需要復制項目”)
將聲音放在一個文件夾中(你不必,但要保持它們的組織性)
你完成了! 通過根據文件名獲取路徑和 URL 來訪問您的聲音。
像這樣:
func playSaveSound(){
let path = Bundle.main.path(forResource: "upward.wav", ofType: nil)!
let url = URL(fileURLWithPath: path)
do {
//create your audioPlayer in your parent class as a property
audioPlayer = try AVAudioPlayer(contentsOf: url)
audioPlayer.play()
} catch {
print("couldn't load the file")
}
}
這篇文章對如何播放聲音有一個很好的概述。
這里有一個額外的步驟,XCode 是隱式執行的,並且可以將您的東西配置為無法完成的方式。 您需要確保 wav 文件位於目標的 Build Phases -> Copy Bundle Resources 設置下的項目列表中。
如果您的應用程序只有一個主要目標並且沒什么特別的,那么當您將文件添加到 XCode 中的文件夾時,這應該會自動完成。 但是我有一個奇怪的設置,它不是,我不得不挖掘才能找到它。
按着這些次序:
Copy items needed
並添加文件。show in Finder
。 如果文件存在,那么在運行時它不會拋出錯誤。除了這里的其他答案之外,要添加的另一件事是,當您導入時,您需要確保將其復制到您的應用程序中,位於“添加到目標”中。 這完成了聲音文件位於“目標的構建階段-> 復制捆綁資源設置下的項目列表”中。
您需要正確處理所有這些事情,否則它就不會出現在捆綁包中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.