Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS Swift2录制准备可能会创建空/未使用的文件 概述_Ios_Swift2_Record_Avaudiorecorder - Fatal编程技术网

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

iOS Swift2录制准备可能会创建空/未使用的文件 概述,ios,swift2,record,avaudiorecorder,Ios,Swift2,Record,Avaudiorecorder,我在按下“录制”按钮后发现了一个延迟,所以我想出了一个解决方案,它会导致其他问题。我的解决方案是经常准备录音机,但这将始终创建一个空文件,有时从未录制到。请注意,这只发生在物理设备上,而不是在模拟中 问题 有没有一种方法可以(1)在不创建空文件的情况下减少记录文件时的延迟,或者(2)有效地清理未记录的文件?似乎(2)应该在每次加载应用程序或视图时运行 代码 第0部分:我的变量 var audioRecorder : AVAudioRecorder! var currentAudioFilenam

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

问题 有没有一种方法可以(1)在不创建空文件的情况下减少记录文件时的延迟,或者(2)有效地清理未记录的文件?似乎(2)应该在每次加载应用程序或视图时运行

代码 第0部分:我的变量

var audioRecorder : AVAudioRecorder!
var currentAudioFilename = "" // the file to play
var nextAudioFilename = "" // the file to record
let audioSession = AVAudioSession.sharedInstance()
第1部分:我的录音机()

第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")
    }
}

提前谢谢


Dan

我的解决方案是在任何音频播放事件后和页面加载时准备录音机。我已将下一个文件存储为默认值,以便一次只能有一个空文件。我的解决方案是在任何音频播放事件后和页面加载时准备录音机。我已将下一个文件存储为默认值,以便一次只能有一个空文件。
// 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")
    }
}