2016-08-23 50 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 
} 
相關問題