欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Adobe Html5 Extension開發(fā)初體驗圖文教程

  發(fā)布時間:2017-11-14 15:42:40   作者:佚名   我要評論
Adobe公司出品的多媒體處理軟件產(chǎn)品線較多,涵蓋了音視頻編輯、圖像處理、平面設計、影視后期等領域。這篇文章主要介紹了Adobe Html5 Extension開發(fā)初體驗圖文教程,非常不錯,需要的朋友參考下吧

一、背景介紹

Adobe公司出品的多媒體處理軟件產(chǎn)品線較多,涵蓋了音視頻編輯、圖像處理、平面設計、影視后期等領域。為了擴展軟件的功能,Adobe公司為開發(fā)者提供了兩種方式來增加軟件的功能:分別是插件(Plugin)和擴展(Extension)。去年利用官方提供的SDK開發(fā)過兩款Premiere插件,分別用于導入自定義格式的多媒體文件和視頻流預覽。近來體驗了一下Adobe Extension的開發(fā)。

Adobe Plugin一般用于提供更靠近底層的功能。官方出于效率的考慮,提供的插件SDK是基于C++語言的。而Adobe Extension則偏向與提供上層應用的擴展,在Adobe CS時代是采用的Flash形式實現(xiàn)的。

在Adobe CC時代則提供了HTML5實現(xiàn),這使得開發(fā)者們可以接口HTML5, CSS3, Javascript甚至是NodeJS來開發(fā)。因為Adobe在PremierePro里面嵌入了CEF,可以高效的解析渲染HTML5、運行Nodejs程序。而Nodejs則能實現(xiàn)系統(tǒng)功能的調(diào)用,簡直不要太叼!在這篇文章中,我大概總結了一下使用HTML5來開發(fā)一款Adobe擴展的心路歷程。 我們要做的一款擴展非常簡單,如下圖所示:

 

這是國外一家知名的視頻素材交易網(wǎng)站Pond5開發(fā)的一款PremierePro擴展,它可以讓用戶在Pr中登陸網(wǎng)站、下載預覽素材、購買高清素材、自動導入視頻或自動替換視頻。使得用戶無需額外打開瀏覽器登陸網(wǎng)站操作,極大的提高了用戶的使用體驗。類似的還有shutterstock開發(fā)的插件:

二、開發(fā)環(huán)境

Adobe官方基于eclipse推出了一個用于開發(fā)Adobe Html5 Extension的IDE。因此,我們按如下流程先來配置下開發(fā)環(huán)境:

下載 Eclipse,最好是3.6或更高版本,以及Extension Builder

安裝Adobe Premiere Pro CC 2014/2015.配置elicpse的“target application”和"Service Manager"

打開調(diào)試模式:在注冊表中添加 'PlayerDebugMode'字段

配置結束,到這里可以利用eclipse生成extension的模板工程了。生成的模板工程非常簡單,面板里面只有一個默認的按鈕:

三、工程配置manifest.xml文件

Adobe Html5 Extension的開發(fā),最重要的一個文件就是manifest.xml。這個文件描述了這個extension的基本信息,以便Adobe宿主程序能夠正常識別加載。其大體內(nèi)容如下:

  其中,BundleName, BundleId, BundleVersion由開發(fā)者來定,一般就是按照正常的版本迭代來確定。最重要的是HostList和RequiredRuntimeList這兩個標簽的內(nèi)容。HostList里面確定了這個extension支持哪些宿主程序(如PremierePro, After Effects等等)。下面的代碼指明了多個宿主程序都可以加載:

  這里只支持Photoshop Extended,其Host ID對應為PHXS,其他宿主程序的Host ID及版本如下:

注意到Version使用了一個方括號的形式[14.0, 14.9],這表明這個extension支持版本14.0-14.9的Photoshop Extended ,高于這個版本或者低于這個版本的Photoshop Extended是不會加載這個extension的。但是,如果要指定某版本以上的所有版本都支持該如何指定?比如要支持2014以上的PremierePro CC,如何指定這個Version呢?只寫上最低版本號即可:

  另外,就是RequiredRuntimeList這個標簽了。這個標簽指定了運行時的CEP版本。所謂的CEP是Common Extensibility Platform的簡稱,它提供了一個核心服務集,便于開發(fā)者執(zhí)行Extendscript代碼、探查宿主程序的環(huán)境變量、處理extension與host之間發(fā)送的事件。在之前這個服務集叫做Creative Suite Extensible Services,簡稱CSXS。因此,在一些配置文件中仍然可以看到CSXS這個縮寫。CEP最初版本為4.x,發(fā)展至今已經(jīng)有5個大版本了,最新的版本為8.x,支持最新的Adobe CC 2018宿主程序。

如上圖,如果我們要支持初代CC版本的宿主程序的話,RequiredRuntime的Version就要設置為4.0。否則是無法正常加載extension的。此外,如果想在擴展中訪問文件系統(tǒng)的話,還得指定額外一些參數(shù):

禁用簽名驗證

我們在開發(fā)的時候,需要隨時調(diào)整extension的代碼。而Adobe宿主程序對于那些沒有簽名的extension,是置之不理不會加載的。因此,我們需要把調(diào)試模式打開,這樣開發(fā)的時候就不必對擴展進行簽名了:

在mac上,打開~/Library/Preferences/com.adobe.CSXS.6.plist這個文件并增加一行,鍵名為PlayerDebugMode,類型為 "String",值設置為"1".在Windows上, 打開注冊表項:HKEY_CURRENT_USER/Software/Adobe/CSXS.6,增加一項名為PlayerDebugMode, 類型為 "String", 值為 "1"的鍵值對.

注意:如果宿主程序的版本不同,對應的文件可能也不同。比如CC2017,就要把上面對應部分改成 "CSXS.7"

chrome調(diào)試

chrome調(diào)試工具有助于觀察extension的輸出、探查extension的DOM結構,對于調(diào)試起著非常大的幫助。啟用chrome調(diào)試工具也很簡單,在extension文件夾的根目錄創(chuàng)建一個名為.debug的文件,寫入下述內(nèi)容:

  這個列表說明了調(diào)試不同的宿主程序時用的端口不一樣。以Pond5為例,其.debug文件內(nèi)容如下:

  指定調(diào)試Premiere的extension時,端口為8089。如下圖所示:

CEP緩存清理

開發(fā)的時候,有可能需要禁止CEF對web內(nèi)容緩存,可以直接手動刪除掉如下位置中extension對應的文件夾:

Windows: C:\Users\USERNAME\AppData\Local\Temp\cep_cache\Mac: /Users/USERNAME/Library/Logs/CSXS/cep_cache
當然,也有Adobe的開發(fā)者說指定CEF參數(shù)<Parameter>--disable-application-cache</Parameter>來禁用CEF緩存,不過我嘗試過好像不起作用。Extension文件夾 Extension存放的位置有分兩種,系統(tǒng)范圍的和用戶個人的。系統(tǒng)范圍安裝Extension的話,Extension文件會存放在如下位置:On Mac,:/Library/Application Support/Adobe/CEP/extensionsOn Windows:C:\Program Files (x86)\Common Files\Adobe\CEP\extensions

這樣,當前系統(tǒng)的所有用戶都可以加載這個Extension了。也可以僅僅安裝給當前用戶使用,其位置如下:

On Mac: ~/Library/Application Support/Adobe/CEP/extensionsOn Windows: C:\\AppData\Roaming\Adobe\CEP\extensions 簽名打包

發(fā)布Extension的時候,需要對整個包進行簽名。這里需要用到ZXPSignCmd這個工具,在官方網(wǎng)站上可以下載。首先,要進行簽名我們需要一個數(shù)字證書。這個證書我們可以從第三方證書簽發(fā)機構購買,這需要一定的經(jīng)費。也可以做一個自簽名的證書,對extension進行簽名。我們就按照后面一種方式來走個流程:

  這樣會在當前目錄下生成一個自簽名證書,然后我們可以用這個證書簽名打包了:

  ZXPSignCmd工具簽名時會在extension目錄下生成一個META-INF文件,里面存放這次簽名的信息。然后,工具會將整個目錄打包壓縮成一個*.zxp文件。這就是我們最終需要發(fā)布的擴展文件了。^_^

Pond5和Shutterstock的套路分析通過仔細分析Pond5和shutterstock的實現(xiàn),我們可以總結下這種類型的擴展的一般執(zhí)行邏輯:

(1)在宿主程序中打開extension面板,通過”窗口-擴展“可以找到已加載的擴展

(2)Extension的腳本會分析用戶是否是第一次使用。如果是第一次,讓用戶選擇視頻素材要保存的位置,這個一般通過彈出對話框實現(xiàn)。用戶選擇的位置信息,一般通過xml文件持久化存在用戶家目錄中。用戶如果不是第一次使用擴展的話,就直接加載家目錄中的xml文件解析了。

(3)用戶點擊了某個視頻素材,開啟下載。這個過程一般可通過nodejs實現(xiàn)。不過,要設置好下載回調(diào)函數(shù)。

(4)下載成功后執(zhí)行回調(diào)函數(shù),把下載好的視頻文件導入到宿主程序中。這個步驟則是調(diào)用extendscript腳本實現(xiàn)。具體腳本編寫可以參考這里。參考這個套路,實現(xiàn)了類似Pond5和Shutterstock的Adobe Extension:

總結

以上所述是小編給大家介紹的Adobe Html5 Extension開發(fā)初體驗圖文教程,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

  • HTML5中的Microdata與歷史記錄管理詳解

    Microdata作為HTML5新增的一個特性,它允許開發(fā)者在HTML文檔中添加更多的語義信息,以便于搜索引擎和瀏覽器更好地理解頁面內(nèi)容,本文將探討HTML5中Microdata的使用方法以及
    2025-04-21
  • HTML5表格語法格式詳解

    在HTML語法中,表格主要通過< table >、< tr >和< td >3個標簽構成,本文通過實例代碼講解HTML5表格語法格式,感興趣的朋友一起看看吧
    2025-04-21
  • html5的響應式布局的方法示例詳解

    這篇文章主要介紹了HTML5中使用媒體查詢和Flexbox進行響應式布局的方法,簡要介紹了CSS Grid布局的基礎知識和如何實現(xiàn)自動換行的網(wǎng)格布局,感興趣的朋友一起看看吧
    2025-04-21
  • 基于Canvas的Html5多時區(qū)動態(tài)時鐘實戰(zhàn)代碼

    本文介紹了如何使用Canvas在HTML5上實現(xiàn)一個多時區(qū)動態(tài)時鐘的web展示,通過Canvas的API,可以繪制出6個不同城市的時鐘,并且這些時鐘可以動態(tài)轉動,每個時鐘上都會標注出對應的
    2025-03-11
  • HTML5 data-*自定義數(shù)據(jù)屬性的示例代碼

    HTML5的自定義數(shù)據(jù)屬性(data-*)提供了一種標準化的方法在HTML元素上存儲額外信息,可以通過JavaScript訪問、修改和在CSS中使用,文章還介紹了高級用法,如存儲JSON數(shù)據(jù)、事
    2025-03-11
  • HTML5中下拉框<select>標簽的屬性和樣式詳解

    在HTML5中,下拉框(<select>標簽)作為表單的重要組成部分,為用戶提供了一個從預定義選項中選擇值的方式,本文將深入探討<select>標簽的屬性、樣式,并重點介
    2025-02-27
  • HTML5 Input 日期選擇器詳解

    本文介紹了HTML5InputDatePicker對象表示HTML``元素,是HTML5中的新對象,介紹了日期、周、月份、時間、日期+時間、本地日期時間等不同類型的日期選擇器,感興趣的朋友一起看
    2025-02-17
  • HTML5超鏈接和圖片基礎用法詳解

    本文介紹了HTML5中的超鏈接、相對路徑和圖片的使用方法,超鏈接可以創(chuàng)建指向另一個文檔或頁面內(nèi)部書簽的鏈接,相對路徑用于在同一服務器內(nèi)部跳轉頁面,圖片標簽用于引入外部圖
    2025-02-17
  • HTML5超鏈接的創(chuàng)建方法

    本文介紹了HTML5超鏈接的創(chuàng)建方法,包括基本語法、創(chuàng)建圖像超鏈接的邊框去除方法以及錨點鏈接的使用,還討論了超鏈接的四種不同狀態(tài)(link、visited、hover、active)的CSS樣
    2025-02-17
  • HTML5使用details標簽:展開/收縮信息

    最近看一些技術網(wǎng)站發(fā)現(xiàn)了details 標簽的妙用,這個不用js即可實現(xiàn)展開/收縮信息,很方便用來讓用戶先才答案,然后下面點擊再給出答案的效果,這里就為大家簡單介紹一下,
    2024-11-03

最新評論