如何删除C++与ExtAudioFileCreateWithURL创建的文件?

问题描述:

我正在做iOS上的低级音频处理。因此,我的应用程序的一部分是用C++编写的。如何删除C++与ExtAudioFileCreateWithURL创建的文件?

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

有时文件需要删除。

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

由于文件与一个CFURLRef功能CFURLDestroyResource似乎是做到这一点的方式打开,但是该功能已被弃用,这是我不清楚是什么将取代此功能。

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

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

尽管如此,我不确定是否保存在时间临界音频呈现线程中使用NSFilemanger对象。如果是这样,那么最好让删除文件在不同的线程中处理。