如何删除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对象。如果是这样,那么最好让删除文件在不同的线程中处理。