Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.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
Plugins 当QuickLook被取消时,如何删除生成的临时文件?_Plugins_Temporary Files_Ogg_Quicklook_Flac - Fatal编程技术网

Plugins 当QuickLook被取消时,如何删除生成的临时文件?

Plugins 当QuickLook被取消时,如何删除生成的临时文件?,plugins,temporary-files,ogg,quicklook,flac,Plugins,Temporary Files,Ogg,Quicklook,Flac,我正在编写一个快速浏览插件,通过使用ffmpeg将音频文件转换为AIFF,然后返回一个带有引用转换后的AIFF文件的标记的极简网页,可以生成一些音频文件的预览,如ogg和flac 除了我需要在临时文件夹中创建那些临时AIFF文件之外,一切都运行得很好。我一直在寻找一种方法,当用户关闭Quick Look窗口以删除我的AIFF文件时,可以获得回调,但我找不到 对于我来说,有没有一个好方法可以删除那些由Quick Look插件生成的临时文件?我自己花了一点时间试图解决这个问题,因为我试图创建一个插件

我正在编写一个快速浏览插件,通过使用
ffmpeg
将音频文件转换为AIFF,然后返回一个带有引用转换后的AIFF文件的
标记的极简网页,可以生成一些音频文件的预览,如
ogg
flac

除了我需要在临时文件夹中创建那些临时AIFF文件之外,一切都运行得很好。我一直在寻找一种方法,当用户关闭Quick Look窗口以删除我的AIFF文件时,可以获得回调,但我找不到


对于我来说,有没有一个好方法可以删除那些由Quick Look插件生成的临时文件?

我自己花了一点时间试图解决这个问题,因为我试图创建一个插件来读取各种不受支持的图像格式。据我所知,视图关闭时无法收到回调通知,因为您将数据交给Quick Look,因此以后无法删除它们。如果可能,尝试将其转换为NSData对象,然后在HTML中对其进行编码。示例如下所示。对于您的情况,您只需替换以下部分:

[html appendString:@"<img src=\"cid:tabs.png\"><br>"];

其中props是主要的属性参考,audioData是表示aiff文件的NSData等。如果您在tmp中有来自其他处理的数据,一旦您使用NSData将数据加载到内存中,您应该删除tmp文件(请参阅)。

您真的使用了
?我记得我用
尝试了
cid:
把戏,但没有成功。不,我只是在玩图像。我试着用数据加载音频,所以我想这不是解决方案。奇怪的是,你可以播放这些文件,所以我认为这只是没有得到正确的模仿类型/其他魔法咒语。也许这是我的一件事。
[html appendString:@"<audio src=\"cid:converted.aiff\" controls autoplay><br>"];
NSMutableDictionary *audioProps = [[NSMutableDictionary alloc] init];
[audioProps setObject:@"audio/aiff" forKey:(NSString *)kQLPreviewPropertyMIMETypeKey];
[audioProps setObject:audioData forKey:(NSString *)kQLPreviewPropertyAttachmentDataKey];
[props setObject:[NSDictionary dictionaryWithObject:audioProps forKey:@"converted.aiff"] forKey:(NSString *)kQLPreviewPropertyAttachmentsKey];