2016-08-23 4 views
1

私は自分のドキュメントディレクトリにオーディオファイルを保存しています。私はドキュメントディレクトリに格納していたオーディオのリストを取得する方法

これは

func getDocumentsDirectory() -> NSURL { 

    let paths = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0] 
    return paths 
} 

func getRecordingsURL() -> NSURL { 

    let date = NSDate() 
    let fileURL = getDocumentsDirectory().URLByAppendingPathComponent("\(date).m4a") 
    let audioURL = NSURL(fileURLWithPath: fileURL.path!) 
    return audioURL 
} 
@IBAction func btnRecordPressed(sender: AnyObject) { 

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

    do { 
     audioRecorder = try AVAudioRecorder(URL: getRecordingsURL(), settings: settings) 
     audioRecorder!.delegate = self 
     audioRecorder!.record() 


} 

は、だから今、私はそれを得ることができますので、どのようにオーディオファイルのこのリスト全体をしたいドキュメントディレクトリ内のオーディオを格納するためのコードです。私はuitableviewでそれを表示したい。

答えて

1

以下の関数は、指定された拡張子を持つDocumentsDirectory内のすべてのファイルを検索し、filepathの配列を返します。

func findFilesWith(extension: String) -> [AnyObject] 
{ 
    var matches = [AnyObject]() 
    let fileManager = NSFileManager.defaultManager() 

    let files = fileManager.enumeratorAtPath(NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]) 
    // *** this section here adds all files with the chosen extension to an array *** 
    for item in files! 
    { 
     let fileURL = item as! NSURL 

     if (fileURL.pathExtension == extension) 
     { 
      matches.append(fileURL) 
     } 
    } 
    return matches 
} 
関連する問題