如何在c ++中删除使用ExtAudioFileCreateWithURL创建的文件?

时间:2017-06-20 13:32:27

标签: c++ ios audiotoolbox

我正在iOS上进行低级音频处理。因此,我的应用程序的一部分是用c ++编写的。

我创建并写入音频文件。使用 ExtAudioFileCreateWithURL 创建文件,并使用 ExtAudioFileWriteAsync 写入文件。使用 ExtAudioFileDispose 关闭文件。

有时需要删除文件。

如何在c ++中删除使用 ExtAudioFileCreateWithURL 创建的文件?

由于使用 CFURLRef 打开文件,函数 CFURLDestroyResource 似乎是这样做的方法,但是这个函数已被弃用,我不清楚替换此功能。

1 个答案:

答案 0 :(得分:0)

我最终设法通过在Objective-C文件中编写一个辅助函数并从C ++代码调用该函数来解决这个问题。

bool removeItemAtURL(CFURLRef url) {
    NSFileManager *fileManager = [NSFileManager defaultManager];
    return [fileManager removeItemAtURL: (__bridge NSURL *)url error: NULL];
}

虽然这有效,但我不确定是否在时间关键音频渲染线程中使用NSFilemanger对象进行保存。如果是这样,那么最好在不同的线程中处理文件的删除。