2016-10-04 37 views
1

ドキュメントディレクトリから録音ファイルを再生しようとしています。問題は、録音を完了して初めて音楽を再生することです。AVAudioPlayer 私は自分のアプリを実行するときに音楽を再生しません。この行で のXcodeは私にそのエラーを与えるAVAudioPlayerは、再びアプリケーションを実行したときに音楽を再生しません。

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]) 

私もそれがディレクトリに存在しますが、それはそれを選択しないでファイルを確認してください。どのように私はそれを解決することができます任意のアイデアを持っています。 Thisは私のデモプロジェクトです。 おかげ

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() 
     } 
    } 

}* 
+0

問題を理解できるように質問を編集できますか?問題が何であるかを知ることは困難です。 –

+0

質問を編集します。 – ZAFAR007

+0

'do {self.audioPlayer = try!実際にはフレームワークに何らかのエラーがあり、エラーをスローしようとしています。AVAudioPlayer(contentsOfURL:filePaths [0])} catch let error {print(error)}エラーを確認し、欠落しているものを修正することができます。 –

答えて

2

コードの問題は、あなたがUserDefaultsURLの配列を保存しようとしているということです。コンテナはいつでも変更できるので、ファイル名をUserDefaultsに保存してから、NSSearchPathForDirectoriesInDomainsを使用してドキュメントディレクトリへのパスを作成することをお勧めします。

+0

ありがとうございます。今それは正常に動作します – ZAFAR007

関連する問題