2011-02-18 57 views
1

我正在尋找爲許多不同文檔類型(mp4,pdf,png和ppt)創建縮略圖。我已經看到了單獨執行它們的不同方法 - MPMovieplayerController:requestThumbnailImagesAtTimes或獲取當前圖層的UIGraphicsGetCurrentContext(有效截屏)。不同類型多媒體的自定義縮略圖

有沒有更好的方法來獲得這些文件的縮略圖?

獲取項目縮略圖的首選方法是什麼?每種方法都不同?

回答

0

據我所知,沒有一種通用的方法來做到這一點。我很想被證明是錯誤的。

我在當前正在編寫的應用程序中有相同的要求,並且昨天寫了縮略圖生成器。我採取的方法是將路徑傳遞到文件和完成處理程序塊直至縮略圖生成器對象。

縮略圖生成器具有NSOperationQueue,它在後臺線程中生成縮略圖生成過程並立即返回佔位符縮略圖。

生成縮略圖時,縮略圖生成器會調用主線程上的完成處理程序。您可能需要使用一個NSInvocation對象來完成這部分。

如果您要生成多個縮略圖,則同步執行此操作會導致明顯的延遲。使用佔位符+完成處理程序塊方法意味着UI保持響應。

在主線程上調用完成處理程序塊很重要,因爲它幾乎肯定會更新您的視圖,這應該只能在主線程上完成。如果你不這樣做,你會得到一些非常奇怪的錯誤,例如滾動視圖直到你滾動它們才顯示它們的內容。

您不應該真的需要使用MPMoviePlayerController來獲取視頻的縮略圖; AVAssetImageGenerator是「蘋果認可」的做法;有一個如何在the AV Foundation Programming Guide中執行此操作的示例。

+0

感謝您的幫助。你是否有一些關於你正在談論的主持人+完成的例子。我以前沒有用過。而且,您是否只是查看每個文件的文件擴展名以確定每個項目使用哪個縮略圖? – smcdrc 2011-02-18 20:38:36

相關問題