iOS Swift2录制准备可能会创建空/未使用的文件

时间:2016-08-02 22:15:44

标签: ios swift2 record avaudiorecorder

概述

我在点击“录制”按钮后发现了延迟,所以我想出了一个导致其他问题的解决方案。我的解决方案是经常准备录音机,但这将始终创建一个空文件,有时永远不会记录。请注意,这仅发生在物理设备上,而不是模拟中。

问题

有没有办法(1)减少录制文件时的延迟而不创建空文件或(2)有效清理未录制的文件?似乎每次应用或视图加载时都应该运行(2)。

代码

第0部分:我的变量

var audioRecorder : AVAudioRecorder!
var currentAudioFilename = "" // the file to play
var nextAudioFilename = "" // the file to record
let audioSession = AVAudioSession.sharedInstance()

第1部分:我的setupRecorder()

do {
            try audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord)
            nextAudioFilename = NSUUID().UUIDString + ".wav"
            try audioRecorder = AVAudioRecorder(URL: self.directoryURL(nextAudioFilename)!,
                                                settings: recordSettings)
}
catch {}
audioRecorder.prepareToRecord()
audioRecorder.delegate = self
print("Recorder setup with new name: current-" + currentAudioFilename + " next-" + nextAudioFilename + " forceSetup-\(forceSetup)")

第2部分:

// set player's filename to recorder's filename
currentAudioFilename = nextAudioFilename

if !audioRecorder.recording {
    do {
        try audioSession.setActive(true)
        audioRecorder.record()}
        catch {print("could activate the recorder")
    }
}

提前致谢!

0 个答案:

没有答案
相关问题