2016-06-25 3 views
2

ドキュメントディレクトリにオーディオファイルがあり、再生できませんが、エラーやクラッシュは発生しませんでした。私は本当にこの状況に固執していて、多くのSOのリンクを参照しましたが、誰も私の問題を解決しませんでした。ドキュメントディレクトリからオーディオファイルが再生されない

var myPlayer = AVAudioPlayer() 

    let fileManager = NSFileManager.defaultManager() 

    let urls = fileManager.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask) 
    if let documentDirectoryURL: NSURL = urls.first { 
    print(documentDirectoryURL)// File copied to this directory 
    let soundURL = documentDirectoryURL.URLByAppendingPathComponent("09.mp3") 
     do { 
      myPlayer = try AVAudioPlayer(contentsOfURL: soundURL) 
      myPlayer.delegate = self 
      myPlayer.prepareToPlay() 
      myPlayer.play() 
     } catch let error as NSError { 
      NSLog("Unresolved error \(error.debugDescription)") 
      // SHOW ALERT OR SOMETHING 
     } 
    } 
+0

ブラジャーに入りますか?ケケツ? ( 'if') –

+0

はい、ループ – Jan

+0

が' soundURL'が有効なパスであり、ファイル/ディレクトリが存在することを再確認した場合、それは入りますか? – NeverHopeless

答えて

0

明確にしてください。

オーディオファイル再生するには2標準的な方法があります:完了ハンドラを持つアプリケーション(ドキュメントディレクトリ)内のファイルにそれをエクスポートし、その後

オーディオの録音が。そこから、ドキュメントディレクトリからそのファイルにアクセスできます。ここで

など
let settings = [ 
    AVFormatIDKey: Int(kAudioFormatMPEG4AAC), 
    AVSampleRateKey: 12000.0, 
    AVNumberOfChannelsKey: 1 as NSNumber, 
    AVEncoderAudioQualityKey: AVAudioQuality.High.rawValue 
] 

do { 
    audioURL = let audioFilename = getDocumentsDirectory().stringByAppendingPathComponent("recording.m4a") 
let audioURL = NSURL(fileURLWithPath: audioFilename) 
    audioRecorder = try AVAudioRecorder(URL: audioURL, settings: settings) 
} 

class func getDocumentsDirectory() -> String { 
    let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) 
    let documentsDirectory = paths[0] 
    return documentsDirectory 
} 

そして、あなたが実際の記録のように行うことをより多くのがあるが、私たちは、コンピュータ上のオーディオを持っているチュートリアル

https://www.hackingwithswift.com/example-code/media/how-to-record-audio-using-avaudiorecorder

- または -

ですあなたはXcodeに転送しました。あなたはそれを使って呼び出すことができます。

myPlayer = try AVAudioPlayer(fileURLWithPath: "09.mp3") 
+0

Xcodeバンドルディレクトリにないドキュメントディレクトリにあります。 – Jan

+0

それはどうやってそこに着いたのですか?そのためのコードはありますか? – impression7vx

+0

"soundUrl"は、私のコードを見ることができます。 – Jan

関連する問題