如何在 c++ 中删除使用 ExtAudioFileCreateWithURL 创建的文件
How to delete files created with ExtAudioFileCreateWithURL in c++?
我正在iOS上进行低级音频处理。因此,我的应用程序的某些部分是用 c++ 编写的。
在那里,我创建并写入音频文件。文件使用 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 对象。如果是这样,那么最好让文件删除在不同的线程中处理。
相关文章:
- 没有找到相关文章