Xcode swift - AVAudio Player 在 Copy Bundle 后不工作
Xcode swift - AVAudio Player not working after Copy Bundle
我正在使用 AVAudio 播放器,目前遇到以下错误 - 致命错误:在展开可选值时意外发现 nil:文件
我查看了各种解决方案,问题是所需的文件不在复制包资源区域中。但文件已添加到所需目标,因此不确定解决方案。
import Foundation
import Capacitor
@objc(Buckfast)
public class Buckfast: CAPPlugin {
@objc func echo(_ call: CAPPluginCall) {
let value = call.getString("value") ?? ""
call.success([
"value": value
])
var bombSoundEffect: AVAudioPlayer?
if let path = Bundle.main.path(forResource: "1", ofType: "wav") {
let url = URL(fileURLWithPath: path)
do {
bombSoundEffect = try AVAudioPlayer(contentsOf: url)
bombSoundEffect?.play()
} catch {
// couldn't load file :(
}
}
}
}
Copy Bundle Image
Code Screenshot
您可以尝试使用 if let
解包,例如
if let path = Bundle.main.path(forResource: "1", ofType: "wav") {
}
驻留在 pods 文件夹中时找不到该文件。该文件需要放在 Apps Copy Bundle Resources 中。
我正在使用 AVAudio 播放器,目前遇到以下错误 - 致命错误:在展开可选值时意外发现 nil:文件
我查看了各种解决方案,问题是所需的文件不在复制包资源区域中。但文件已添加到所需目标,因此不确定解决方案。
import Foundation
import Capacitor
@objc(Buckfast)
public class Buckfast: CAPPlugin {
@objc func echo(_ call: CAPPluginCall) {
let value = call.getString("value") ?? ""
call.success([
"value": value
])
var bombSoundEffect: AVAudioPlayer?
if let path = Bundle.main.path(forResource: "1", ofType: "wav") {
let url = URL(fileURLWithPath: path)
do {
bombSoundEffect = try AVAudioPlayer(contentsOf: url)
bombSoundEffect?.play()
} catch {
// couldn't load file :(
}
}
}
}
Copy Bundle Image Code Screenshot
您可以尝试使用 if let
解包,例如
if let path = Bundle.main.path(forResource: "1", ofType: "wav") {
}
驻留在 pods 文件夹中时找不到该文件。该文件需要放在 Apps Copy Bundle Resources 中。