2

のようないくつかのオーディオファイルのプレビューを生成できるクイックルックプラグインを作成しています。これを使用してAIFFに変換しogg、変換されたAIFFファイルを参照するタグを含む最小限のWebページを返します。flacffmpeg<video>

一時フォルダに一時AIFFファイルを作成する必要があることを除いて、すべてが正常に実行されます。ユーザーがクイックルックウィンドウを閉じてAIFFファイルを削除できるようにしたときにコールバックを取得する方法を探していましたが、見つかりません。

クイックルックプラグインによって生成された一時ファイルを削除する良い方法はありますか?

4

1 に答える 1

3

サポートされていないさまざまな画像形式を読み取るプラグインを作成しようとする同様の問題について、自分でこれを解決するために少し時間を費やしました。私の知る限り、データをクイックルックに渡すため、ビューが閉じたときに通知するコールバックを実際に取得することはできません。そのため、後で実際に削除することはできません。可能であれば、それをNSDataオブジェクトに変換してから、これをHTMLにエンコードしてみてください。この例は、[プレビューの動的生成]>[強化されたHTMLの生成]として利用できます。あなたの場合、あなたはただセクションを置き換える必要があります:

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

あなたのタグで。cid: URLは、一時データにアクセスするための重要な呼び出しです。あなたの場合、それは次のようになります:

[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];

propsがメインのプロパティ参照である場合、audioDataaiffファイルなどを表すNSDataです。他の処理からのtmpにデータがある場合、NSDataを使用してデータをメモリにロードしたら、tmpファイルを削除する必要があります(NSData dataWithContentsOfFileを参照)。 )。

于 2013-05-18T02:30:23.933 に答える