2016-08-23 2 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

Следующая функция находит все файлы в DocumentDirectory с заданным расширением и возвращает массив пути к файлу.

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 
}