2014-11-12 2 views
1

Было бы очень признательно, если кто-то может помочь мне в следующем.Swift - сохранить аудиозапись

Я хочу записать аудио, а затем отобразить его на столе.

Я получил роль записывающих

func setupRecorder() { 
    var format = NSDateFormatter() 
    format.dateFormat="yyyy-MM-dd-HH-mm-ss" 
    var currentFileName = nameTextfield.text 
    println(currentFileName) 

    var dirPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) 
    var docsDir: AnyObject = dirPaths[0] 
    var soundFilePath = docsDir.stringByAppendingPathComponent(currentFileName) 
    soundFileURL = NSURL(fileURLWithPath: soundFilePath) 
    let filemanager = NSFileManager.defaultManager() 
    if filemanager.fileExistsAtPath(soundFilePath) { 
     // probably won't happen. want to do something about it? 
     println("sound exists") 
    } 

    var recordSettings = [ 
     AVFormatIDKey: kAudioFormatAppleLossless, 
     AVEncoderAudioQualityKey : AVAudioQuality.Max.toRaw(), 
     AVEncoderBitRateKey : 320000, 
     AVNumberOfChannelsKey: 2, 
     AVSampleRateKey : 44100.0 
    ] 
    var error: NSError? 
    recorder = AVAudioRecorder(URL: soundFileURL!, settings: recordSettings, error: &error) 
    if let e = error { 
     println(e.localizedDescription) 
    } else { 
     recorder.delegate = self 
     recorder.meteringEnabled = true 
     recorder.prepareToRecord() // creates/overwrites the file at soundFileURL 
    }` 

Я использую модель, которая состоит из 2-х свойств. (Title "строка" и средства массовой информации "Recording")

Возникли проблемы экономии аудио (NSURL) и отображение его на столе.

Я noob, как вы можете видеть, и любая помощь будет замечательной!

Благодаря

+0

это довольно поздно ... что это soundFileURL печать, как? Также вы вызываете record.record где-нибудь? – aparna

ответ

1

Скорее всего, вы будете нуждаться в сессии создали:

var session=AVAudioSession.sharedInstance() 
    session.setCategory(AVAudioSessionCategoryPlayAndRecord,error:nil) 
Смежные вопросы