專利名稱:動態(tài)媒體內(nèi)容預(yù)覽的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實施例涉及流式媒體(streaming media),尤其是涉及提供流式媒體和數(shù)字媒體內(nèi)容的安全預(yù)覽。
背景技術(shù):
隨著計算機用戶變得越來越見多識廣,對于人們使用的計算機程序的高效性的需求也在不斷提高。例如,很多計算機系統(tǒng)具有某一類型的文件管理系統(tǒng),該系統(tǒng)管理用戶可能需要存取的數(shù)百甚或數(shù)千個文件。在許多常規(guī)的文件管理系統(tǒng)中,難以使用與該文件的文件類型相關(guān)聯(lián)的必需應(yīng)用程序在無需實際打開該文件的情況下確定特定文件的內(nèi)容。時常,在打開文件之前用戶可以獲得的關(guān)于該文件的有用信息僅僅是文件名。很多用戶希望能夠在將資源實際用于打開完全應(yīng)用程序以及隨后打開該文件之前預(yù)覽該文件的內(nèi)容。某些文件管理系統(tǒng),諸如由Cupertino,CA的Apple Inc.提供的Mac OS X中的Finder,提供了用于在打開文件之前預(yù)覽文件的功能。其它操作系統(tǒng)和文件管理系統(tǒng)也可以提供某些靜態(tài)預(yù)覽功能。例如,使用Apple的Finder,用戶可以預(yù)覽文檔,諸如PDF、文本文件、字處理文檔和電子數(shù)據(jù)表等。Finder也允許用戶預(yù)覽具有Mac OS識別出的原有文件類型的某些視頻內(nèi)容。Mac OS中的Quick Look后臺程序(daemon)包括多種插件,每個插件接受來自客戶端進程的特定數(shù)據(jù)類型并將其轉(zhuǎn)換成具有一組標準格式——諸如PDF和HTML——中的一種格式的預(yù)覽。隨后,由客戶端進程使用Quick Look框架來顯示標準格式的預(yù)覽。這種結(jié)構(gòu)的優(yōu)點在于它避免由第三方插件崩潰而導致的客戶端應(yīng)用程序崩潰。但是,這種模型對于諸如流式媒體的動態(tài)媒體并不能很好地工作,原因在于將與非原有文件類型相關(guān)聯(lián)的動態(tài)媒體轉(zhuǎn)換成適當?shù)臉藴矢袷交ㄙM太多的處理時間而使其不可用或不可靠。
發(fā)明內(nèi)容
當客戶端進程接收到對于動態(tài)媒體內(nèi)容的預(yù)覽的請求時,該請求被傳遞給沙箱化進程。沙箱化進程與客戶端進程隔離,這意味著如果沙箱化進程崩潰,客戶端進程保持功能性和可操作性。在沙箱化進程中,確定動態(tài)媒體內(nèi)容的類型。內(nèi)容類型可以基于例如統(tǒng)一類型標識符(UTI)來確定。一旦內(nèi)容類型被確定,沙箱化進程就取回流化插件(streaming plug-in)以將動態(tài)媒體內(nèi)容轉(zhuǎn)換成客戶端進程可以用來顯示動態(tài)媒體的預(yù)覽的媒體類型。插件被用來根據(jù)與該插件相關(guān)聯(lián)的協(xié)議轉(zhuǎn)換動態(tài)媒體內(nèi)容。在一些實施例中,插件產(chǎn)生音頻分量和視頻分量二者(至少為具有音頻和視頻二者的動態(tài)媒體內(nèi)容產(chǎn)生這二者)。隨著動態(tài)內(nèi)容的每一幀被產(chǎn)生,其被傳遞給客戶端進程以顯示為流式預(yù)覽。在一些實施例中,插件給客戶端進程提供允許用戶控制動態(tài)媒體內(nèi)容的預(yù)覽的有限方面(例如,“停止”、“播放”和“暫停”等)的一種或多種控制。
以下說明包括對于附圖的討論,所述附解說明了本發(fā)明實施例的實施方式的例子。附圖只是出于舉例說明而非限制的目的提供的。本文中對于一個或多個“實施例”的提及要被理解為描述包括在本發(fā)明的至少一種實施方式中的特定特征、結(jié)構(gòu)或特性。因此, 諸如出現(xiàn)在本文中的“在一個實施例中”或“在替換實施例中”之類的短語描述了本發(fā)明的各種實施例和實施方式,而無須全部指的是同一實施例。但是,它們也無須互相排斥。圖1是圖示按照各種實施例的系統(tǒng)的框圖。圖2是圖示按照各種實施例的系統(tǒng)的框圖。圖3是按照各種實施例的系統(tǒng)中的操作的流程圖。圖4是圖示按照各種實施例的系統(tǒng)的框圖。
具體實施例方式本文中提供的各種方法、設(shè)備和系統(tǒng)使得能夠預(yù)覽動態(tài)媒體內(nèi)容。當用戶選擇文件(例如,從文件管理系統(tǒng)中選擇)并請求該文件的預(yù)覽時,本文所描述的實施例有助于將該動態(tài)媒體轉(zhuǎn)換為適合于預(yù)覽該動態(tài)媒體內(nèi)容的格式。圖1是按照各種實施例的框圖。如圖所示,文件管理系統(tǒng)(例如,F(xiàn)indeiNWindows Explorer等)或其它程序(例如,客戶端應(yīng)用程序、網(wǎng)絡(luò)瀏覽器等)包括客戶端進程102。 客戶端進程102是與特定程序的用戶級交互發(fā)生之處。當用戶請求文件110的預(yù)覽時,應(yīng)用編程接口(API) 112發(fā)送請求116給預(yù)覽后臺程序104。如果預(yù)覽后臺程序104尚未運行,則其被啟動。在各種實施例中,預(yù)覽后臺程序104是沙箱化進程。沙箱化進程是與其它運行的進程或程序分離開的進程。沙箱化進程,或簡稱為沙箱,通常為訪客程序提供受到緊密控制的資源集合以便運行在諸如盤和存儲器上的暫存空間(scratch space)中。在各種實施例中,在沙箱中通常不允許或嚴格限制網(wǎng)絡(luò)訪問、檢查主機系統(tǒng)的能力或從輸入設(shè)備中讀取。通過發(fā)送請求116給預(yù)覽后臺程序104,導致預(yù)覽后臺程序104發(fā)生任何錯誤/問題(例如,崩潰、掛起、不可接受的等待時間等)的對文件104的任何操縱或轉(zhuǎn)換將不影響客戶端進程102。換言之,如果預(yù)覽后臺程序104崩潰,客戶端進程102將繼續(xù)不受影響地運行。對于用戶,這意味著在產(chǎn)生文件的預(yù)覽中發(fā)生的任何錯誤將不會阻止用戶使用底層程序,諸如文件管理系統(tǒng)。如果客戶端進程102與諸如文件管理系統(tǒng)(例如,Apple Finder, Windows Explorer等)之類的基本用戶程序相關(guān)聯(lián),則這可能是特別重要的。在一些實施例中,如果沙箱化進程崩潰,則客戶端進程可能顯示所請求的預(yù)覽當前不可用的指示。在各種實施例中,文件類型模塊118初始接收來自客戶端進程112的請求116。文件類型模塊118確定與文件110相關(guān)聯(lián)的文件類型。如前所述,文件類型可以是使用統(tǒng)一類型標識符或UTI確定的,UTI是由Apple Inc.定義的、唯一地標識一類項目的類型的字符串。因此,UTI被用來標識文件和文件夾、剪切板數(shù)據(jù)、軟件包(bundle)、混疊(alias)、 符號鏈接(symlink)和流式數(shù)據(jù)的類型。如果文件類型模塊118識別出文件110的文件類型為原有文件類型,則文件類型模塊118取回與該原有文件類型相關(guān)聯(lián)的已知插件120。對于包含靜態(tài)媒體的文件,諸如字處理文檔、PDF、HTML文件等,所取回的插件可以處理文件請求,并將其轉(zhuǎn)換成文件預(yù)覽122,其被發(fā)送回客戶端進程102以顯示為預(yù)覽。在某些實施例中,插件120直接能夠轉(zhuǎn)換動態(tài)媒體內(nèi)容(音頻/視頻文件、交互式3D動畫文件等),這將在下面詳述。被發(fā)送給客戶端進程102的文件預(yù)覽122由API 112處理,API 112包括各種顯示軟件包114。每個顯示軟件包包括顯示一種或多種特定文件類型的預(yù)覽所需的資源。 因此,如果文件預(yù)覽122是PDF的預(yù)覽,則來自該組顯示軟件包114的PDF顯示軟件包獲得 PDF預(yù)覽并使其準備好在顯示器130上顯示。本文描述的其它實施例能夠提供動態(tài)媒體內(nèi)容(例如,流式媒體、視頻、3-D動畫等)的預(yù)覽。例如,如果文件110包括動態(tài)媒體內(nèi)容,則請求116可能被發(fā)送給預(yù)覽后臺程序104,并且文件類型模塊118基于例如與文件110相關(guān)聯(lián)的UTI來確定文件類型。其它標識符可能用在不同的實施例中。如果動態(tài)媒體具有原有文件類型并被文件類型模塊118識別出,則對應(yīng)的插件120被取回以轉(zhuǎn)換文件110和提供預(yù)覽。但是,如果文件110包括非原有文件類型的動態(tài)媒體內(nèi)容,則文件類型模塊118取回指定插件120以處理文件110的非原有轉(zhuǎn)換。在某些實施例中,指定插件120負責取回額外插件(流插件124)以處理動態(tài)媒體內(nèi)容。指定插件也可以取回需要被轉(zhuǎn)換的文件的復(fù)本。在一些實施例中,該文件是作為請求116的一部分被接收的同一文件。但是,在其它實施例中,該文件可以是要在轉(zhuǎn)換成流式預(yù)覽中使用的同一文件的不同復(fù)本。此外,為流插件IM打開或啟動另一沙箱化進程106以將文件110轉(zhuǎn)換成流式預(yù)覽126。以此方式,流式預(yù)覽后臺程序106與預(yù)覽后臺程序104和客戶端進程102隔離開。 因此,如果在文件到流式預(yù)覽的轉(zhuǎn)換期間流插件IM崩潰,則進程106、預(yù)覽后臺程序104和客戶端進程102仍不受影響。以此方式,用戶不會丟失客戶端應(yīng)用程序(例如,文件管理系統(tǒng))中的任何功能,而且用戶仍可以在沒有任何中斷的情況下預(yù)覽其它文件,尤其是不需要流式預(yù)覽的那些文件。在各種實施例中,流預(yù)覽1 是從原始文件110轉(zhuǎn)換成的一系列幀。與流預(yù)覽126 相關(guān)聯(lián)的幀可以包括有限的用戶功能。換言之,如果完全的應(yīng)用程序(例如,媒體播放器) 被打開以顯示文件110中的動態(tài)媒體內(nèi)容,則用戶將具有應(yīng)用程序的用以控制和/或操縱該文件的用戶接口選項的全部范圍。例如,如果用戶想要查看視頻文件并打開視頻文件查看應(yīng)用程序(例如,由Apple Inc.提供的Quicktime、由Microsoft Corporation提供的 Windows Media Player等),用戶將有能力停止、暫停、播放、調(diào)整音量,調(diào)整窗口的大小,和 /或從打開的應(yīng)用程序的上下文的內(nèi)部對文件執(zhí)行各種其它操作(例如,保存、刪除、復(fù)制等)。相對地,流式預(yù)覽1 給用戶提供有限的控制,這是由于其被特別設(shè)計為預(yù)覽。例如, 流式預(yù)覽1 可以僅僅提供對于停止和播放預(yù)覽中的內(nèi)容的控制。流式預(yù)覽126由API 112——更具體而言,由指定的顯示軟件包114之一——接收和處理。在流式預(yù)覽的情況下,一個或多個顯示軟件包114包括顯示流式預(yù)覽所需的資源。 因此,來自該組顯示軟件包114的流式預(yù)覽顯示軟件包獲得流式預(yù)覽126并使其準備好顯示在顯示器130上。除了產(chǎn)生流式預(yù)覽1 之外,流插件IM也可以產(chǎn)生和提供一組一種或多種流控制1 給客戶端進程102。流控制1 包括一個或多個命令,其允許用戶控制流式預(yù)覽126 的各個方面。因此,如前所述,流控制1 可能包括用于停止、暫停、和/或播放流式預(yù)覽中的內(nèi)容的命令。在某些實施例中可以包括更多命令或更少命令。在一些實施例中,流控制1 可以不給用戶提供在與文件相關(guān)聯(lián)的原有應(yīng)用程序中可得到的功能的全部范圍。圖2是圖示與產(chǎn)生動態(tài)媒體內(nèi)容的流式預(yù)覽相關(guān)聯(lián)的各種實施例的框圖。與圖1 類似,圖2示出了客戶端進程202和流式預(yù)覽后臺程序206。流插件220被用來將文件208 轉(zhuǎn)換為流式預(yù)覽。流插件220運行在沙箱化流式預(yù)覽后臺程序206內(nèi)。流插件220逐幀地產(chǎn)生流式預(yù)覽,而在某些實施例中,單獨地產(chǎn)生視頻分量和音頻分量。因此,文件208被轉(zhuǎn)換成音頻分量212和視頻分量210。音頻分量212被添加到流預(yù)覽(或簡稱為“流”)214, 并且視頻分量210在每一幀被產(chǎn)生的同時被逐幀地添加到該流中。這樣,例如,只要幀1被轉(zhuǎn)換和產(chǎn)生為預(yù)覽特定格式,其就被添加到該流中,并被發(fā)送給客戶端進程202,而無需等待幀2被轉(zhuǎn)換和產(chǎn)生。類似地,一旦幀2被轉(zhuǎn)換和產(chǎn)生,其就可以被立即添加到流214中。 這個處理對于被轉(zhuǎn)換和產(chǎn)生的每一幀繼續(xù)進行。如前所述,在各種實施例中流插件220給客戶端進程提供流控制。如圖2所示,流控制216運行在客戶端進程202中并且允許用戶控制流214的某些方面。如本文所述,流控制216提供對于流214的有限控制,并且不提供在文件208在原有應(yīng)用程序中被打開的情況下可以得到的控制的全部范圍。圖3是圖示提供動態(tài)媒體內(nèi)容的預(yù)覽的各種實施例的流程圖。對于動態(tài)媒體的預(yù)覽的請求被接收310。作為響應(yīng),至少一個沙箱化進程被啟動320。單個沙箱化進程可能已經(jīng)在運行了,在此情況下,第二沙箱化進程可以被啟動以將流式媒體預(yù)覽與正在產(chǎn)生的其它預(yù)覽分離開。動態(tài)媒體的內(nèi)容類型被確定330。內(nèi)容類型可以基于統(tǒng)一類型標識符(UTI) 或其它形式的文件類型標識而被確定?;趦?nèi)容類型,流插件被取回340以將動態(tài)媒體轉(zhuǎn)換成預(yù)覽特定格式。本文中使用的“流”插件指的是被特別指定來將動態(tài)媒體內(nèi)容(例如,視頻、音頻、交互式3D動畫等) 轉(zhuǎn)換成流式媒體的任何插件。如果動態(tài)媒體的內(nèi)容類型是原有文件類型,或換言之,識別出的文件類型,那么有可能快速方便地將該文件轉(zhuǎn)換成預(yù)覽。但是,如果確定文件類型是非原有文件類型,那么流插件需要能夠?qū)⒃嘉募囊环N格式轉(zhuǎn)換為與動態(tài)預(yù)覽兼容的預(yù)覽特定格式。所取回的插件被提供350給沙箱化進程,并且預(yù)覽被產(chǎn)生360。在文件是包含音頻數(shù)據(jù)和視頻數(shù)據(jù)二者的視頻文件的情況下,插件可以為預(yù)覽產(chǎn)生分離的音頻分量和視頻分量。如果原始文件僅包含音頻,那么可能僅產(chǎn)生音頻分量。如果原始文件僅包含視頻而沒有音頻,那么可能僅產(chǎn)生視頻分量。流式媒體插件也可以支持包含交互式3D動畫(諸如 C0LLADA文件)的各種文件。一旦預(yù)覽分量已被產(chǎn)生,則流預(yù)覽被提供370以顯示給用戶, 并且對于動態(tài)預(yù)覽的控制也被提供380。這種控制允許用戶控制與動態(tài)預(yù)覽相關(guān)聯(lián)的有限功能(例如,“停止”、“暫?!薄ⅰ安シ拧?。對于3-D動畫文件,動態(tài)預(yù)覽可以包括類似控制, 諸如停止、暫?;虿シ艅赢嬑募哪芰?。但是,在某些實施例中,與在原有應(yīng)用程序被打開以播放動態(tài)媒體內(nèi)容時可得到的控制相比,所提供的用戶控制是有限的。應(yīng)當注意在替換實施例中圖3中所描述的步驟可以被重新排列并以與所示順序不同的順序被執(zhí)行。而且,應(yīng)當注意比圖3所示的步驟更多的處理步驟或更少的處理步驟可以被用來實現(xiàn)由本文所述的各種實施例設(shè)想的相同動態(tài)媒體預(yù)覽功能。圖4圖示了具有計算機系統(tǒng)400的示例性形式的機器的圖形表示,在所述機器中可以執(zhí)行使得該機器執(zhí)行本文所述的方法中的任意一個或多個的一組指令。在替換實施例中,機器可以連接(例如,聯(lián)網(wǎng))到局域網(wǎng)(LAN)、內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng)或互聯(lián)網(wǎng)中的其它機器。 機器可以以客戶端-服務(wù)器網(wǎng)絡(luò)環(huán)境下的服務(wù)器或客戶機的能力工作,或工作為對等(或分布式)網(wǎng)絡(luò)環(huán)境下的對等機器。機器可以是個人計算機(PC)、平板PC、機頂盒(STB)、個人數(shù)字助理(PDA)、蜂窩電話、或能夠執(zhí)行指定要由該機器采取的動作的一組指令(順序地或以其它方式)的任何機器。此外,雖然只示出了一個機器,但是術(shù)語“機器”應(yīng)當被看作為包括能夠獨立地或相結(jié)合地執(zhí)行一組(或多組)指令以執(zhí)行本文所述的方法中的任意一個或多個的機器的任意集合。根據(jù)各種實施例,圖4還表示可以用來實現(xiàn)圖1-3所示的所述細節(jié)的系統(tǒng)的一種形式。尤其是,應(yīng)當注意顯示器410可以用來顯示動態(tài)媒體內(nèi)容,就像圖1的顯示器130 那樣??梢詫⒈疚乃龅挠兄趧討B(tài)媒體內(nèi)容預(yù)覽的實施例包括為指令422(在圖4的系統(tǒng)中),所述指令422被存儲例如在驅(qū)動單元418或主存儲器404中,并且可以由處理器402 執(zhí)行。示例性計算機系統(tǒng)400包括處理器402、主存儲器404 (例如,只讀存儲器(ROM)、 閃存、動態(tài)隨機存取存儲器(DRAM)、諸如同步DRAM (SDRAM)或高頻動態(tài)隨機DRAM (Rambus DRAM,即RDRAM)等)、靜態(tài)存儲器406 (例如,閃存、靜態(tài)隨機存取存儲器(SRAM)等)和輔存儲器418(例如,數(shù)據(jù)存儲設(shè)備),其經(jīng)由總線408彼此進行通信。處理器402代表一個或多個通用處理設(shè)備,諸如微處理器、中央處理單元等。更具體地,處理器402可以是復(fù)雜指令集計算(CISC)微處理器、精簡指令集計算(RISC)微處理器、超長指令字(VLIW)微處理器、實現(xiàn)其它指令集的處理器、或?qū)崿F(xiàn)指令集的組合的處理器。處理器402也可以是一個或多個專用處理設(shè)備,諸如專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、數(shù)字信號處理器(DSP)、網(wǎng)絡(luò)處理器等。處理器402被配置成運行用于執(zhí)行本文中所述的操作和步驟的處理邏輯422。計算機系統(tǒng)400還可以包括網(wǎng)絡(luò)接口設(shè)備416。計算機系統(tǒng)400還可以包括顯示單元410(例如,液晶顯示器(LCD)、發(fā)光二極管(LED)顯示器、陰極射線管(CRT))和輸入設(shè)備412(例如,鍵盤和/或鼠標等)。輔存儲器418可以包括機器可讀存儲介質(zhì)(或更具體地,計算機可讀存儲介質(zhì))424,其上存儲有體現(xiàn)本文所述的方法或功能中的任意一個或多個的一組或多組指令集 (例如,軟件422)。在由計算機系統(tǒng)400執(zhí)行期間,軟件422還可以完全或至少部分地駐留在主存儲器404內(nèi)和/或在處理設(shè)備402內(nèi),主存儲器404和處理設(shè)備402也構(gòu)成機器可讀存儲介質(zhì)。軟件422還可以通過網(wǎng)絡(luò)420經(jīng)由網(wǎng)絡(luò)接口設(shè)備416被發(fā)送或接收。在各種實施例中,用戶請求的網(wǎng)絡(luò)內(nèi)容可以使用網(wǎng)絡(luò)接口設(shè)備416通過網(wǎng)絡(luò)420被取回(例如,從廣域網(wǎng))。雖然在示例性實施例中機器可讀存儲介質(zhì)4M被示出為單個介質(zhì),但是術(shù)語“機器可讀存儲介質(zhì)”或“計算機可讀存儲介質(zhì)”應(yīng)被看作為包括存儲一個或多個指令集的單個介質(zhì)或多個介質(zhì)(例如,集中式或分布式數(shù)據(jù)庫、和/或相關(guān)的高速緩存和服務(wù)器)。術(shù)語 “機器可讀存儲介質(zhì)”或“計算機可讀存儲介質(zhì)”應(yīng)被看作為包括任意介質(zhì),其能夠存儲或編碼一組供機器/計算機執(zhí)行的指令,并使得機器/計算機執(zhí)行本發(fā)明的方法中的任意一個或多個。術(shù)語“機器可讀存儲介質(zhì)”或“計算機可讀存儲介質(zhì)”應(yīng)被相應(yīng)地看作為包括但不限于固態(tài)存儲器和光學和磁性介質(zhì)。
本文所述的各種部件可以是用于執(zhí)行本文所述的功能的裝置。本文所述的每一部件包括軟件、硬件或其組合。本文所述的操作和功能可以被實現(xiàn)為軟件模塊、硬件模塊、專用硬件(例如,應(yīng)用特定硬件、專用集成電路(ASIC)、數(shù)字信號處理器(DSP)等)、嵌入式控制器、硬連線電路等。除了本文所述的內(nèi)容以外,可以對所公開的本發(fā)明的實施例和實施方式進行各種修改而不會背離本發(fā)明的范圍。因此,本文中的圖解說明和示例應(yīng)當被看作是說明性的,而不是限制性的。
權(quán)利要求
1.一種方法,包括響應(yīng)于對于動態(tài)媒體內(nèi)容的預(yù)覽的請求,啟動沙箱化進程;以預(yù)覽特定格式產(chǎn)生幀流,所述幀流是由在所述沙箱化進程內(nèi)執(zhí)行的插件產(chǎn)生的;以及提供所述幀流作為所述動態(tài)媒體內(nèi)容的預(yù)覽,所述預(yù)覽在顯示屏上是可見的。
2.按照權(quán)利要求1所述的方法,其中所述啟動沙箱化進程還包括 確定所述動態(tài)媒體內(nèi)容的內(nèi)容類型;以及取回流插件以至少部分地基于所述動態(tài)媒體內(nèi)容的所述內(nèi)容類型而將所述動態(tài)媒體內(nèi)容轉(zhuǎn)換成所述預(yù)覽特定格式。
3.按照權(quán)利要求2所述的方法,還包括提供所述流插件和所述動態(tài)媒體內(nèi)容給所述沙箱化進程。
4.按照權(quán)利要求1所述的方法,其中所述產(chǎn)生還包括 為所述幀流中的每個幀單獨地產(chǎn)生音頻分量和視頻分量。
5.按照權(quán)利要求1所述的方法,其中所述提供所述幀流還包括 在每一幀被產(chǎn)生的同時逐幀地提供所述幀流以供顯示;以及在動態(tài)預(yù)覽的顯示期間,提供一種或多種控制以幫助用戶控制所述動態(tài)媒體內(nèi)容。
6.按照權(quán)利要求1所述的方法,其中所述插件與應(yīng)用程序相關(guān)聯(lián),并且其中在不發(fā)起所述應(yīng)用程序的情況下所述預(yù)覽是可見的。
7.一種方法,包括第一沙箱化進程從客戶端進程接收對于動態(tài)媒體內(nèi)容的預(yù)覽的請求; 所述第一沙箱化進程響應(yīng)于接收到所述請求而啟動第二沙箱化進程; 以預(yù)覽特定格式產(chǎn)生幀流,所述幀流是由在所述第二沙箱化進程內(nèi)執(zhí)行的插件產(chǎn)生的;以及提供所述幀流給所述客戶端進程以顯示在顯示屏上。
8.按照權(quán)利要求7所述的方法,其中所述啟動第二沙箱化進程還包括 確定所述動態(tài)媒體內(nèi)容的內(nèi)容類型;確定所述內(nèi)容類型是非原有內(nèi)容類型;以及取回流插件以至少部分地基于所述動態(tài)媒體內(nèi)容的所述非原有內(nèi)容類型而將所述動態(tài)媒體內(nèi)容轉(zhuǎn)換成所述預(yù)覽特定格式。
9.按照權(quán)利要求8所述的方法,還包括提供所述流插件和所述動態(tài)媒體內(nèi)容給所述第二沙箱化進程。
10.按照權(quán)利要求7所述的方法,其中所述產(chǎn)生還包括 為所述幀流中的每個幀單獨地產(chǎn)生音頻分量和視頻分量。
11.按照權(quán)利要求7所述的方法,其中所述提供所述幀流還包括在每一幀被產(chǎn)生的同時逐幀地提供所述幀流給所述客戶端進程以供顯示;以及在動態(tài)預(yù)覽的顯示期間,提供一種或多種控制給所述客戶端進程以幫助用戶控制所述動態(tài)媒體內(nèi)容。
12.按照權(quán)利要求7所述的方法,其中所述插件與應(yīng)用程序相關(guān)聯(lián),并且其中在不發(fā)起所述應(yīng)用程序的情況下所述預(yù)覽是可見的。
13.一種其上存儲有指令的計算機可讀存儲介質(zhì),所述指令在被執(zhí)行時使得計算機響應(yīng)于對于動態(tài)媒體內(nèi)容的預(yù)覽的請求,啟動沙箱化進程;以預(yù)覽特定格式產(chǎn)生幀流,所述幀流是由在所述沙箱化進程內(nèi)執(zhí)行的插件產(chǎn)生的;以及提供所述幀流作為所述動態(tài)媒體內(nèi)容的預(yù)覽,所述預(yù)覽在顯示屏上是可見的。
14.按照權(quán)利要求13所述的計算機可讀存儲介質(zhì),其中使得啟動沙箱化進程的指令還包括使得所述計算機確定所述動態(tài)媒體內(nèi)容的內(nèi)容類型以及取回流插件以至少部分地基于所述動態(tài)媒體內(nèi)容的所述內(nèi)容類型而將所述動態(tài)媒體內(nèi)容轉(zhuǎn)換成所述預(yù)覽特定格式的指令。
15.按照權(quán)利要求14所述的計算機可讀存儲介質(zhì),還包括使得所述計算機提供所述流插件和所述動態(tài)媒體內(nèi)容給所述沙箱化進程的指令。
16.按照權(quán)利要求13所述的計算機可讀存儲介質(zhì),其中使得產(chǎn)生的指令還包括使得所述計算機為所述幀流中的每個幀單獨地產(chǎn)生音頻分量和視頻分量的指令。
17.按照權(quán)利要求13所述的計算機可讀存儲介質(zhì),其中使得提供所述幀流的指令還包括使得所述計算機在每一幀被產(chǎn)生的同時逐幀地提供所述幀流以供顯示以及在動態(tài)預(yù)覽的顯示期間,提供一種或多種控制以幫助用戶控制所述動態(tài)媒體內(nèi)容的指令。
18.一種設(shè)備,包括用于響應(yīng)于對于動態(tài)媒體內(nèi)容的預(yù)覽的請求而啟動沙箱化進程以及以預(yù)覽特定格式產(chǎn)生幀流的處理裝置,所述幀流是由在所述沙箱化進程內(nèi)執(zhí)行的插件產(chǎn)生的;以及用于將所產(chǎn)生的幀流顯示為所述動態(tài)媒體內(nèi)容的預(yù)覽的顯示器。
19.按照權(quán)利要求18所述的設(shè)備,所述處理裝置還用于確定所述動態(tài)媒體內(nèi)容的內(nèi)容類型,以及取回流插件以至少部分地基于所述動態(tài)媒體內(nèi)容的所述內(nèi)容類型而將所述動態(tài)媒體內(nèi)容轉(zhuǎn)換成所述預(yù)覽特定格式。
20.按照權(quán)利要求18所述的設(shè)備,所述處理裝置還用于為所述幀流中的每個幀單獨地產(chǎn)生音頻分量和視頻分量。
21.按照權(quán)利要求18所述的設(shè)備,所述處理裝置還用于在每一幀被產(chǎn)生的同時逐幀地提供所述幀流以供顯示,以及在動態(tài)預(yù)覽的顯示期間,提供一個或多個用戶界面控件以幫助用戶控制所述動態(tài)媒體內(nèi)容。
22.按照權(quán)利要求18所述的設(shè)備,其中所述插件與應(yīng)用程序相關(guān)聯(lián),并且其中在不發(fā)起所述應(yīng)用程序的情況下所述預(yù)覽是可見的。
全文摘要
本公開涉及動態(tài)媒體內(nèi)容預(yù)覽。沙箱化進程響應(yīng)于對于動態(tài)媒體內(nèi)容的預(yù)覽的請求而被啟動。由在所述沙箱化進程內(nèi)執(zhí)行的插件以預(yù)覽特定格式產(chǎn)生幀流。所述幀流被提供作為所述動態(tài)媒體內(nèi)容的預(yù)覽,其中所述預(yù)覽在顯示屏上是可見的。
文檔編號G06F21/00GK102483782SQ201080038225
公開日2012年5月30日 申請日期2010年7月20日 優(yōu)先權(quán)日2009年7月24日
發(fā)明者J·佳隆, J-P·修達德, P·德赫比蒙特 申請人:蘋果公司