2016-08-23 49 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 
} 
相关问题