我正在使用Xcode 10.1,这是音频播放应用程序的非常基本的代码段。
var audioplayer:AVAudioPlayer?
override func viewDidLoad() {
super.viewDidLoad()
let url = Bundle.main.url(forResource: "ringtone2", withExtension: "mp3")
guard url != nil else{
return
}
do{
audioplayer = try AVAudioPlayer(contentsOf: url!)
audioplayer?.play()
}
catch{
print("error")
}
}
它应该播放铃声,但是代码进入catch块并打印以下内容:
2019-06-20 15:29:11.573735 + 0530 letsplaymusic [1539:42595] 1410:扫描数据包时出现问题 2019-06-20 15:29:11.574033 + 0530 letsplaymusic [1539:42595] 1008:MPEGAudioFile :: OpenFromDataSource失败 2019-06-20 15:29:11.574204 + 0530 letsplaymusic [1539:42595] 101:OpenFromDataSource失败 2019-06-20 15:29:11.574427 + 0530 letsplaymusic [1539:42595] 76:打开失败 错误
答案 0 :(得分:1)
您可能将音频文件放置在错误的位置。尝试将文件与ViewController.swift
文件放在相同的层次结构级别。
我可以使用您发布的相同代码播放声音,但是我看不到音频文件的放置位置,因此我猜这一定是问题所在。
答案 1 :(得分:0)
1。确保捆绑包中包含.Mp3文件,并使用Log确认
2。 player.prepareToPlay()-播放资源所需的功能
func playAudioFile(_ url: URL) {
print("playing \(url)")
do {
self.player = try AVAudioPlayer(contentsOf: url)
player.prepareToPlay()
player.volume = 1.0
player.play()
} catch {
self.player = nil
print(error.localizedDescription)
print("AVAudioPlayer init failed")
}
}
快乐编码...:)