国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Grilo的多媒體集成系統(tǒng)開發(fā)

2012-08-15 00:44:25黑龍江劉爽
職業(yè)技術(shù) 2012年11期
關(guān)鍵詞:插件調(diào)用列表

黑龍江 劉爽

1 研究背景

Grilo是一個致力于簡化多媒體集成的全新項目。其使用方式非常簡單常見。Grilo抽象了各個media provider間的差異,通過暴露給應(yīng)用開發(fā)人員一套單一的高層次的API來屏蔽所有服務(wù)相關(guān)的細(xì)節(jié),一套系統(tǒng)可以用于所有的媒體服務(wù)和設(shè)備。這顯著地減少了應(yīng)用程序開發(fā)端所需要的努力。應(yīng)用開發(fā)人員憑借Grilo,只需編碼一次便可以使用所有被Grilo支持的media provider。加上對多媒體解決方案的熟悉,高層次框架的本質(zhì),大多數(shù)程序員會感到得心應(yīng)手,并能理解Grilo是如何工作的。

2 基于Grilo的多媒體集成系統(tǒng)的實現(xiàn)

針對多媒體內(nèi)容集成系統(tǒng)的功能需求,設(shè)立此系統(tǒng)的目的是為加強多媒體消費用戶體驗,真正做到操作所有多媒體服務(wù)方式一致,對所有Grilo支持的插件進行集中管理。

3 具體功能的實現(xiàn)

為了更好的體現(xiàn)本程序功能,編寫簡單的UI模塊供用戶操作,實現(xiàn)瀏覽、搜索、播放等功能。主前臺頁面采用基于GObject的GTK+圖形庫編寫,對UI執(zhí)行不同的操作來調(diào)用系統(tǒng)具體的功能模塊。

本系統(tǒng)的主界面主要完成功能是顯示存在當(dāng)前系統(tǒng)中可用的upnp、file system等grilo插件,雙擊某插件即可對特定媒體服務(wù)進行瀏覽操作(遞歸瀏覽文件系統(tǒng)目錄結(jié)構(gòu)),可以按照輸入的特定關(guān)鍵字進行搜索匹配的多媒體文件,雙擊列表中出現(xiàn)的多媒體文件可調(diào)用播放器播放媒體內(nèi)容。

3.1 UPnP/DLNA media server瀏覽和搜索模塊

當(dāng)控制點定位一個服務(wù)后他希望了解更多,因而他將請求描述文檔。描述是一個XML文檔用來描述一個設(shè)備,包括:

·制造商信息,版本,其他。

·可被設(shè)備采用的圖標(biāo)的URL地址。

·嵌入式設(shè)備列表。

·設(shè)備提供的服務(wù)列表。

控制點采用基于TCP的HTTP來請求描述文檔??刂泣c執(zhí)行標(biāo)準(zhǔn)的HTTPGET命令(與檢索Web頁面類似)。在服務(wù)器端,設(shè)備運行一個標(biāo)準(zhǔn)的HTTP服務(wù)——可以是完全的Web服務(wù)器如Apache也可以是迷你服務(wù)器。描述文檔中的很多條目都是URL地址。這些條目也使用HTTP/TCP檢索。

3.2 文件系統(tǒng)瀏覽搜索模塊

文件系統(tǒng)插件同樣分為兩個部分:搜索和瀏覽。

搜索過程描述:首先初始化起始搜索目錄,當(dāng)用戶單擊search按鈕時,執(zhí)行搜索操作??傮w思路是遞歸掃面文件系統(tǒng)目錄結(jié)構(gòu),首先獲取初始目錄下所有文件列表,對這個子文件鏈表進行掃面,一次取出第i個文件進行判斷,如果為媒體文件則調(diào)用回調(diào)函數(shù)來返回給UI,如果是目錄,則遞歸調(diào)用本模塊。如果不是上述兩種文件,則搜索工作結(jié)束。

瀏覽過程描述:當(dāng)用戶雙擊文件系統(tǒng)插件時執(zhí)行瀏覽操作,從根目錄“/”開始,當(dāng)用戶雙擊列表中某目錄時,通過傳遞給模塊相應(yīng)的目錄id來執(zhí)行瀏覽操作,首先獲取當(dāng)前目錄下所有的文件列表,掃面鏈表,對每個元素進行判斷,如果是目錄文件或者是媒體文件,則將其元數(shù)據(jù)信息封裝成GrlMedia或者GrlMediaContainer,進一步調(diào)用回調(diào)函數(shù)將結(jié)果返回給UI。

3.3 偽媒體服務(wù)器瀏覽搜索模塊

通過局域網(wǎng)主機模擬Internet中多媒體服務(wù)器工作,意在說明Grilo框架的通用性,并不僅限于本系統(tǒng)中使用的前兩個插件。

3.4 播放模塊

使用Gtk+調(diào)用GNOME開源的多媒體播放器Totem,它基于Gstreamer,Gstreamer設(shè)計原理來自 windows的 DirectShow,GStreamer作為GNOME桌面環(huán)境推薦的流媒體應(yīng)用框架,采用了基于插件(plugin)和管道(pipeline)的體系結(jié)構(gòu),庫中的所有的功能模塊都被實現(xiàn)成可以插拔的組件(component),并且在需要的時候能夠很方便地安裝到任意一個管道上,由于所有插件都通過管道機制進行統(tǒng)一的數(shù)據(jù)交換,因此,很容易利用已有的各種插件“組裝”出一個功能完善的多媒體應(yīng)用程序。通過編寫支持不同格式的插件插入到管道中,使編寫一個萬能的播放器成為可能。

4 結(jié)論

目前,基于Grilo的多媒體集成系統(tǒng)還不完善,還有很多不成熟的地方。將在以下幾個方面開展進一步的完善工作。

第一方面:進一步明確系統(tǒng)的需求分析。需求分析過程中可能存在著一些不足,將在后期系統(tǒng)完善中對存在的問題進行修改。

第二方面:系統(tǒng)界面不夠美觀。系統(tǒng)首先進行后臺模塊的設(shè)計和開發(fā),對前臺的顯示效果沒有考慮周全。將在界面布局等方面對系統(tǒng)進行完善,今后可能考慮替換其他可移植的圖形庫,clutter等。

第三方面:因為系統(tǒng)所采用的技術(shù)基于glib和gobject,所以充分保證了系統(tǒng)代碼的跨平臺特性,目前系統(tǒng)運行平臺為ubuntu11.04,今后在改進UI后可以移植本系統(tǒng)到其他平臺(Windows、Mac OSX、Android等)。

[1]肖文鵬.自由軟件愛好者用GStreamer簡化Linux多媒體開發(fā),2004~6.01.P1~5.

[2]The GNOME Project, Grilo Reference Manual.P1~10.

[3]Eric Harlow著,童壽彬,童悅,等譯 Developing linux Application with GTK+and GDK.1999.P66~68.

[4]王保保,陶鵬.UPnPAV架構(gòu)的數(shù)字多媒體家庭網(wǎng)絡(luò).微電子學(xué)與計算機,2006,23(7):126~134.

[5]范新運.基于UPnP的家庭智能系統(tǒng)研究與實踐:[碩士學(xué)位論文].西安:西北工業(yè)大學(xué)圖書館,2005.

猜你喜歡
插件調(diào)用列表
巧用列表來推理
學(xué)習(xí)運用列表法
擴列吧
自編插件完善App Inventor與樂高機器人通信
電子制作(2019年22期)2020-01-14 03:16:34
核電項目物項調(diào)用管理的應(yīng)用研究
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
MapWindowGIS插件機制及應(yīng)用
基于Revit MEP的插件制作探討
不含3-圈的1-平面圖的列表邊染色與列表全染色
濮阳市| 五原县| 六安市| 巫溪县| 横山县| 陆良县| 大英县| 启东市| 彭山县| 安国市| 山东省| 乌鲁木齐市| 格尔木市| 龙江县| 临朐县| 剑河县| 五河县| 保靖县| 浦县| 射洪县| 康定县| 茶陵县| 民丰县| 古蔺县| 定兴县| 庄浪县| 新晃| 咸宁市| 衢州市| 广西| 周口市| 平山县| 博野县| 斗六市| 义马市| 察哈| 诸城市| 勐海县| 瑞丽市| 师宗县| 静宁县|