Ios 当应用程序再次运行时,AVAudioPlayer不会再次播放音乐

Ios 当应用程序再次运行时,AVAudioPlayer不会再次播放音乐,ios,swift,avaudioplayer,avaudiorecorder,avplayerlayer,Ios,Swift,Avaudioplayer,Avaudiorecorder,Avplayerlayer,我正在尝试从文档目录播放保存录制文件。问题是AVAudioPlayer仅在完成录制后第一次播放音乐。 当我再次运行我的应用程序时,它不会播放音乐。 Xcode给了我这个错误 fatal error: 'try!' expression unexpectedly raised an error: Error Domain=NSOSStatusErrorDomain Code=2003334207 "(null)": file /Library/Caches/com.apple.xbs/Source

我正在尝试从文档目录播放保存录制文件。问题是
AVAudioPlayer
仅在完成录制后第一次播放音乐。 当我再次运行我的应用程序时,它不会播放音乐。 Xcode给了我这个错误

fatal error: 'try!' expression unexpectedly raised an error: Error Domain=NSOSStatusErrorDomain Code=2003334207 "(null)": file /Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-703.0.18.8/src/swift/stdlib/public/core/ErrorType.swift, line 54
在这条线上

self.audioPlayer = try! AVAudioPlayer(contentsOfURL: filePaths[0])
我也会检查文件,它是否存在于目录中,但它不会选择它。任何人都知道我如何解决它。这是我的演示项目。 谢谢


代码的问题是您试图将
URL
的数组保存到
UserDefaults
。容器可以随时更改,因此最好将文件名保存在
UserDefaults
中,然后使用
NSSearchPathForDirectoriesInDomains
创建指向文档目录的路径。您是否可以编辑问题,以便我们了解问题。很难找到问题所在。我编辑了我的问题。
do{self.audioPlayer=try!AVAudioPlayer(contentsOfURL:filepath[0])}catch-let-error{print(error)}
实际上框架有一些错误,它正在尝试抛出错误。你可以检查错误并纠正你缺少的东西。我也尝试过这个,但这也给了我错误<代码>致命错误:“重试!”表达式意外引发错误:error Domain=NSOSStatusErrorDomain Code=2003334207“(null)”:file/Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-703.0.18.8/src/swift/stdlib/public/core/ErrorType.swift,第54行检查该位置是否有任何文件<代码>文件existsatpath:。如果有问题。此网站将让您知道错误代码所指的错误类型。
class FirstViewController: UIViewController, AVAudioPlayerDelegate, AVAudioRecorderDelegate{

    var soundRecorder : AVAudioRecorder!
    var audioPlayer : AVAudioPlayer!
    var filePaths : [NSURL]!

    override func viewDidLoad() {
        super.viewDidLoad()

    }

    @IBAction func playBt(sender: AnyObject) {
        if filePaths.count > 0 {
            //print(soundRecorder.url)
            print(filePaths[0])
            self.audioPlayer = try! AVAudioPlayer(contentsOfURL: filePaths[0])
            self.audioPlayer.prepareToPlay()
            self.audioPlayer.delegate = self
            self.audioPlayer.play()
        }
    }

}*