如何获取我存储在文档目录中的音频列表

时间:2016-08-23 10:25:12

标签: ios swift uitableview nsfilemanager nsdocumentdirectory

我将音频文件存储在我的文档目录中。

这是用于在文档目录中存储音频的代码

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 个答案:

答案 0 :(得分:1)

以下函数查找DocumentsDirectory中具有给定扩展名的所有文件,并返回文件路径数组。

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
}