• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種新型的3G移動媒體播放終端及實(shí)現(xiàn)

      2013-09-24 07:57:48閆敬文李明峰
      關(guān)鍵詞:播放器網(wǎng)卡內(nèi)核

      閆敬文,李明峰

      (汕頭大學(xué)工學(xué)院電子系,廣東 汕頭 515063)

      0 引言

      隨著3G網(wǎng)絡(luò)的大范圍覆蓋,加上Android、IOS、WindowsPhone等智能手機(jī)的普及,通過3G網(wǎng)絡(luò)來觀看網(wǎng)絡(luò)視頻已經(jīng)越來越普遍了.但由于可以運(yùn)行Android等界面操作系統(tǒng)的設(shè)備,一般都采用具有較高主頻和較強(qiáng)處理能力的處理器,內(nèi)存和Flash容量至少在128MB以上[1],成本較高,不適宜大量應(yīng)用于某些場合,如移動電視,網(wǎng)絡(luò)廣告機(jī),視頻會議等.在這些場合中,往往需要用到一些廉價的專用型設(shè)備,本文介紹的3G移動媒體播放終端采用S3C2410作為處理器,內(nèi)存和Flash也只需64MB,在滿足系統(tǒng)需求的前提下很大程度地降低了系統(tǒng)的成本.

      1 系統(tǒng)分析

      1.1 系統(tǒng)框架

      硬件框架如下圖1-1所示.

      圖1 -1硬件框架圖

      硬件部分是由一個帶顯示器的ARM9開發(fā)板加上一個3G上網(wǎng)卡組成.開發(fā)板包括了嵌入式的基本系統(tǒng),例如CPU、內(nèi)存、Flash、穩(wěn)壓電源、USB接口、網(wǎng)卡、聲卡等[2].軟件框架如圖1-2所示.軟件部分主要包括以下四個部分:一是驅(qū)動部分,二是chat和PPP撥號軟件部分,三是MPlayer播放器部分,四是QT界面部分.接下來的內(nèi)容,將會圍繞這幾個部分進(jìn)行詳細(xì)的分析.

      圖1 -2 軟件框架圖

      1.2 3G網(wǎng)卡拆解

      由于關(guān)于ZTE AC580 3G網(wǎng)卡硬件組成方面的資料較少,所以筆者決定拆解該網(wǎng)卡,其拆解圖如圖1-3所示.

      圖1 -3 AC580 3G網(wǎng)卡硬件拆解圖

      AC580 3G網(wǎng)卡的硬件組成框架圖如圖1-4所示.這款3G網(wǎng)卡主要由以下5個部分組成:QUALCOMM QSC6085處理器,Hynix Flash芯片,電源管理器,射頻收發(fā)器和一個多用的讀卡器.QSC6085芯片集成了ARM926EJS~192MHz,QDSP~100MHz兩個處理器.支持EVDOrA標(biāo)準(zhǔn),支持MP3,MPEG4,H.263,H.264的解碼等等[3].雖然3G網(wǎng)卡的內(nèi)部結(jié)構(gòu)看似復(fù)雜,但從本質(zhì)上來看,它只是一個Modem加上一個串口轉(zhuǎn)USB而已.Modem通過串口轉(zhuǎn)USB來與用戶設(shè)備連接.要說明的是AC580 3G網(wǎng)卡是一個混合USB設(shè)備,Modem只是它的其中一個功能模塊.

      2 3G上網(wǎng)的實(shí)現(xiàn)

      2.1 3G網(wǎng)卡驅(qū)動

      從3G網(wǎng)卡的硬件分析得知,3G網(wǎng)卡使用的雖然是一個USB接口,但實(shí)質(zhì)上是一個虛擬的串口.該3G網(wǎng)卡在Linux底層是一個USB串口設(shè)備,所以在開發(fā)板端需要進(jìn)行加載USBSerial的驅(qū)動.在Linux中,串口屬于tty設(shè)備,對于一個USB串口設(shè)備而言,其驅(qū)動主要由兩部分組成:usb_driver的成員函數(shù)和tty設(shè)備的tty_operations結(jié)構(gòu)體成員函數(shù)[4].在USB串口設(shè)備驅(qū)動的模塊加載函數(shù)中,將注冊對應(yīng)于USB串口的usb_driver,并初始化和注冊tty驅(qū)動.在Linux內(nèi)核里,自帶USBSerial驅(qū)動,所在的路徑為driversusbserial,AC580 3G網(wǎng)卡只要用內(nèi)核自帶的USBSerial驅(qū)動就可以了.

      我們可以把USBSerial驅(qū)動程序編譯成模塊,或者將其直接編進(jìn)內(nèi)核.由于AC580 3G網(wǎng)卡是一個USB混合設(shè)備,系統(tǒng)在設(shè)備識別方面與一般設(shè)備不一樣,USB串口設(shè)備模塊需要在系統(tǒng)識別到Modem后才能起作用,所以,針對AC580 3G網(wǎng)卡的這種情況,選擇把編譯成模塊,然后再等網(wǎng)卡被識別為Modem后才進(jìn)行加載.把USBSerial驅(qū)動編譯成模塊一般使用以下兩種方式:一是直接從內(nèi)核中編譯出來;二是自己編寫Makefile,再使用編譯模塊命令來調(diào)動內(nèi)核機(jī)制來編譯.下面只對直接從內(nèi)核中編譯進(jìn)行說明.

      首先要配置內(nèi)核:

      [*]Enable loadable module support---> //啟用可裝載模塊支持

      ---Enable loadable module support

      [*]Module unloading //支持模塊卸載

      [*]Automatic kernel module loading //自動加載的內(nèi)核模塊

      Device Drivers --->

      [*]USB support--->

      ***USB port drivers***

      USB Serial Converter support---> //把USBSerial選擇為模塊編譯

      ---USB SerialConverter support

      [*]USB Generic Serial Driver

      然后,進(jìn)入內(nèi)核所在的目錄,運(yùn)行以下命令:

      #make modules //開始編譯模塊

      在編譯的信息中看到

      CC drivers/usb/serial/usbserial.mod.o

      LD[M]drivers/usb/serial/usbserial.ko

      證明USBSerial驅(qū)動已經(jīng)編譯成usbserial.ko了,此時可以在drivers/usb/serial目錄下找到它.當(dāng)然在編譯之前請確保選擇的是交叉編譯.也就是說在Linux內(nèi)核目錄中要把Makefile中的ARCH和CROSS_COMPILE改為以下信息.

      ARCH ?=arm

      CROSS_COMPILE ?=arm-linux

      arm-linux-gcc的版本可以用以下命令查看

      #arm-linux-gcc-v //查看交叉編譯器的版本文中用的arm-liunx-gcc版本為3.4.1

      2.2 驅(qū)動加載

      AC580 3G網(wǎng)卡是一個混合設(shè)備,它既是CD-ROM,也是USB Mass Storage,也是Modem.在PC機(jī)上,有強(qiáng)大的操作系統(tǒng)支持下我們使用起來覺得很方便,但是在嵌入式環(huán)境下,就不一樣了,因?yàn)榍度胧较到y(tǒng)在同一時間內(nèi)只能使用某一個設(shè)備,如果不對設(shè)備進(jìn)行切換的話那就不能使用另外的設(shè)備.在該文使用的嵌入式平臺中,一插入網(wǎng)卡,系統(tǒng)只識別它為CD-ROM.并不是所想要的Modem.如果直接加載驅(qū)動模塊,則無法建立與Modem的連接.以下介紹一種可行的驅(qū)動加載方法.網(wǎng)卡驅(qū)動的加載流程如圖2-1所示.

      圖2 -1 3G網(wǎng)卡的驅(qū)動加載流

      到這里,可以查看到/dev目錄下多了ttyUSB0這個設(shè)備.這個ttyUSB0其實(shí)就是Modem的接口.這樣3G網(wǎng)卡的驅(qū)動就加載成功了.但是,此時還不能上網(wǎng),要上網(wǎng)還要進(jìn)行撥號.

      2.3 3G撥號上網(wǎng)

      2.3.1 撥號軟件編譯

      文中使用的ppp軟件版本為ppp-2.4.5.ppp-2.4.5軟件包中含有很多個獨(dú)立的程序代碼包,包括chat,pppd,pppdump,pppstats等.2.4.5版本的pppd可以跟好地支持3G的調(diào)制解調(diào)器.這里只需要chat和pppd兩個軟件包[5].

      圖2-2為撥號軟件編譯流程圖.打開chat軟件包,里面除了有源代碼外,還有for linux系統(tǒng)的Makefile和for sol2系統(tǒng)的Makefile,因?yàn)樵撐挠玫氖莑inux系統(tǒng),所以,這里使用for linux Makefile.

      圖2 -2撥號軟件編譯流程

      看到圖2-2最后的輸出信息則表明chat二進(jìn)制文件已經(jīng)編譯成了.編譯出來的chat二進(jìn)制文件就可以直接在嵌入式平臺中使用了.編譯pppd的步驟跟chat的編譯步驟一樣.

      2.4 內(nèi)核配置和文件系統(tǒng)的制作說明

      要進(jìn)行3G上網(wǎng),以下的配置是必不可少的,在內(nèi)核配置中要打開PPP支持:Networking --->

      [*]Network device support---><*>PPP(point-to-point protocol)support //支持點(diǎn)對點(diǎn)協(xié)議[*]PPP multilink support(EXPERIMENTAL) //支持多鏈路

      另外,需要在文件系統(tǒng)加入chat、pppd程序,同時需要創(chuàng)建他們所依賴的文件目錄.該文使用的根文件系統(tǒng)為cramfs,在博創(chuàng)的cramfs根文件系統(tǒng)的基礎(chǔ)上,加入需要的命令和目錄.這里要做的是,把前面編譯好的chat和pppd復(fù)制到/bin目錄下,同時,在/etc下添加一個ppp文件夾,并且把它鏈接到/mnt/yaffs/ppp.同時在/etc下建立一個resolv.conf文件,并且把它鏈接到/mnt/yaffs/resolv.conf.等到啟動系統(tǒng)后,再創(chuàng)建/mnt/yaffs/ppp文件夾和文件/mnt/yaffs/resolv.conf,resolv.conf用于保存DNS等信息.

      2.5 撥號上網(wǎng)

      AC580 3G網(wǎng)卡與GRPS,GSM模塊都是同樣使用AT指令進(jìn)行撥號連接.由于篇幅有限,具體的指令使用,在這里就不一一介紹了.下面是AC580 3G上網(wǎng)的撥號腳本.

      /bin/pppd connect'/bin/chat-v"""AT""""ATE0 OK""""AT+CMGF=1 OK""""AT^PREFMODE=8 OK""""AT+CSQ OK""""ATDT#777 CONNECT"'user ctnet@mycdma.cn password vnet.mobi/dev/ttyUSB0 115200 nodetach nocrtscts debug usepeerdns defaultroute ipcp-accept-local ipcp-accept-remote&

      3G網(wǎng)卡的撥號連接過程如圖2-3所示.

      運(yùn)行撥號腳本后,終端會顯示連接過程的相關(guān)信息.連接成功后會顯示所獲取的IP和DNS.

      用ifconfig命令查看網(wǎng)絡(luò)接口的信息可以發(fā)現(xiàn)在網(wǎng)絡(luò)信息中多了一個ppp0設(shè)備,顯示的IP跟撥號時獲取后的IP一樣.這證明ppp0就是系統(tǒng)通過3G網(wǎng)絡(luò)連接Internet的設(shè)備了.同時在/etc/ppp目錄下,自動生成了一個resolv.conf文件,里面有DNS的地址信息,只要把/etc/ppp/resolv.conf復(fù)制到/etc/resolv.conf,這樣就可以實(shí)現(xiàn)域名解析了,現(xiàn)用ping命令來測試一下.

      [root@/mnt/yaffs]#ping www.baidu.com

      PING www.baidu.com(121.14.89.10):56 data bytes

      64 bytes from 121.14.89.10:seq=0 ttl=56 time=61.818 ms

      Ping測試成功,3G上網(wǎng)已經(jīng)實(shí)現(xiàn)了.如果需要斷開網(wǎng)絡(luò)連接則運(yùn)行kill來關(guān)掉pppd的線程就可以了.

      #kill$(pidof pppd)

      3 QT網(wǎng)絡(luò)播放器的實(shí)現(xiàn)

      3.1 MPlayer移植

      MPlayer是一款開源多媒體播放器,支持大部分常用的視頻格式,同時支持RTP、RTSP、HTTP、FTP、MMS等網(wǎng)絡(luò)協(xié)議,所以大部分的網(wǎng)絡(luò)流媒體都可以通過直接輸入URL的方式來進(jìn)行播放[6].在X11,Xmga,DirectX等顯示架構(gòu)中可以通過-geometry控制視頻的定位輸出.而在嵌入式系統(tǒng)中使用的顯示設(shè)備為fbdev,MPlayer源碼不支持在fbdev的定位播放.筆者通過分析MPlayer源碼,添加了fbdev定位播放的功能.MPlayer播放流程如下圖3-1所示.

      圖3 -1 MPlayer的播放流程

      在嵌入式環(huán)境下,視頻輸出主要通過vo_s3cfb.c和vo_fbdev.c控制.而實(shí)際的輸出由vo_fbdev.c中的draw_slice函數(shù)控制.要實(shí)現(xiàn)視頻輸出的定位則要從這個函數(shù)入手.可以通過在vo_fbdev,c中添加geometry的庫從而實(shí)現(xiàn)定位播放.添加流程如下圖3-2所示.

      其中,fb_x、fb_y為自定義的以像素為單位的定位平移量.偏移的參考原點(diǎn)為LCD的最左上角.修改完源代碼之后就可以進(jìn)行交叉編譯了.MPlayer的移植過程不會太復(fù)雜,關(guān)鍵是配置.下面簡單介紹一下如何配置MPlayer,由于篇幅有限這里只列出部分內(nèi)容.

      ./configure--cc=arm-linux-gcc //選用系統(tǒng)默認(rèn)交叉編譯器,筆者使用的是3.4.1

      --target=arm-armv4-linux //支持armv4架構(gòu)的arm-linux

      --enable-fbdev //支持開發(fā)板的fb設(shè)備

      --disable-mp3lib //不使用內(nèi)部的MP3界面庫

      --disable-mad //支持mad作為MP3解碼的庫,這個需要另外編譯的

      --enable-static //靜態(tài)編譯

      --with-extraincdir=/usr/local/arm/3.4.1/arm-linux/sys-include/:/usr/local/arm/3.4.1/lib/include //指明libmad的頭文件--with-extralibdir=/usr/local/arm/3.4.1/arm-liunx/lib:/usr/local/arm/3.4.1/lib/lib//指明libmad的庫地址

      配置的時候可以建一個腳本文件.這里就不詳細(xì)講述了.配置完之后就直接make.中途可能會出現(xiàn)一些錯誤.可以根據(jù)具體情況對源代碼進(jìn)行修改,直到編譯成功為止.編譯成功后,需要把生成的可執(zhí)行程序mplayer放到嵌入式系統(tǒng)中進(jìn)行測試運(yùn)行.視頻輸出位置是通過-geometry參數(shù)進(jìn)行輸出位置控制.例如,執(zhí)行./mplayer panda.mpg-vo fbdev-geometry+50+50,這樣視頻的輸出參考點(diǎn)就會從原來的最左上角(0,0)的位置移動到(50,50)的位置.具體播放定位位置要根據(jù)QT的顯示窗口位置來設(shè)定.

      3.2 QT代碼編寫及移植

      3.2.1 UI設(shè)計(jì)

      由于整個播放器的界面所占篇幅較大,這里只截取按鈕布局,如圖3-3所示.

      圖3 -3 播放器按鈕布局

      在MPlayer的基礎(chǔ)上,用QT界面對播放器實(shí)現(xiàn)來播放、暫停、停止、全屏播放的控制功能.同時,還增加了播放列表功能,可以通過選擇播放列表中的文件來實(shí)現(xiàn)本地以及URL的播放.

      3.2.2 控制原理

      在這個播放器中QT界面用于實(shí)現(xiàn)對MPlayer的可視化控制.在QT中創(chuàng)建一個線程調(diào)用MPlayer并且通過輸入MPlayer的控制命令來實(shí)現(xiàn)暫停,停止等功能.具體的控制原理如圖3-4所示.

      圖3 -4 QT對MPlayer實(shí)現(xiàn)控制

      在s_mp中如果需要可以根據(jù)QT播放器窗口的位置來控制MPlayer視頻的輸出位置.圖中的s_mp輸入命令為640x480全屏顯示.如果需要定位視頻輸出位置,則在后面添加-vo fbdev-geometry+x+y參數(shù)(x、y為具體偏移量)即可.詳細(xì)的控制參數(shù)可以參考MPlayer的使用說明.

      3.2.3 Qt移植

      播放界面的具體移植過程分為3個驟步,分別為:交叉編譯、尋找需要的庫文件和編寫運(yùn)行腳本.下面就每一步進(jìn)行簡單的說明.

      (1)交叉編譯.QT官網(wǎng)中有提供QtEmbedded的開發(fā)包,安裝成功后,用里面的命令編譯出來的程序可以在ARM-linux嵌入式系統(tǒng)中運(yùn)行.可以輸入以下命令進(jìn)行編譯.

      #/opt/local/Trolltech/QtEmbedded-4.5.3/bin/qmake-project//建立工程,需要制定為QtEmbedded的make.

      #/opt/local/Trolltech/QtEmbedded-4.5.3/bin/qmake //生成頭文件和Makefile

      #make //編譯

      在編譯成Embedded版之前,最好make clean一下,同時確保所寫的程序可以編譯成x86或x11的版本,而且編譯后可以在PC中運(yùn)行.成功編譯之后,在播放器的工程目錄下就會有一個二進(jìn)制可執(zhí)行文件.但是直接下載到板上運(yùn)行會出錯的,原因是它依賴于很多庫文件.必須指定了庫文件的路徑,程序才可以正常運(yùn)行.

      (2)尋找需要的庫文件.在工程目錄下運(yùn)行arm-linux-readelf命令可以查看文件所依賴的庫文件.

      #arm-linux-readelf-d MicrophoneTV

      Dynamic segment at offset 0x17340 contains 31 entries:

      Tag Type Name/Value

      0x00000001(NEEDED) Shared library:[libQtGui.so.4]

      0x00000001(NEEDED) Shared library:[libts-0.0.so.0]

      ......

      0x00000001(NEEDED) Shared library:[libc.so.6]

      0x0000000f(RPATH) Library rpath:[/opt/local/Trolltech/Qtarm-4.5.3/lib]

      這里的庫文件有四類:一是QtEmbedded的庫文件,二是arm-linux-gcc的庫文件,三是觸摸屏的庫文件,四是字體的庫文件.可以分別到各個對應(yīng)的目錄去復(fù)制需要的庫文件.然后把它整理到一個文件夾,筆者用的文件夾命名為Qtlib.前面三類可以在上面的列表中看到,文字庫需要另外制作或者到網(wǎng)上去下載.把字體的庫文件放到Qtlib/fonts目錄下.另外還需要一個觸摸屏的校正程序,筆者用的版本為tslib-1.4,交叉編譯tslib之后把它里面的文件放到Qtlib/ts中.

      (3)編寫運(yùn)行腳本.這一步最為關(guān)鍵,這個要根據(jù)具體的嵌入式環(huán)境來編寫.下面是筆者根據(jù)使用的系統(tǒng)編寫的腳本.這個腳本的作用是設(shè)定環(huán)境變量,實(shí)質(zhì)是指定程序運(yùn)行所依賴的文件的路徑.

      #!/bin/sh

      rm-fr/tmp/* //清除內(nèi)存

      export TSLIB_CONSOLEDEVICE=none

      //tslib運(yùn)行需要的控制臺,默認(rèn)為/dev/tty,none則為LCD;

      export TSLIB_FBDEVICE='/dev/fb0'//這是LCD的設(shè)備名

      export TSLIB_TSDEVICE='/dev/event0'//這是觸摸屏的設(shè)備名

      export TSLIB_PLUGINDIR='/mnt/yaffs/Qtlib/ts/lib/ts'//觸摸屏的庫

      export TSLIB_CALIBFILE='/mnt/yaffs/pointercal' //校正文件

      export TSLIB_CONFFILE='/mnt/yaffs/Qtlib/ts/etc/ts.conf'//觸摸屏配置

      export QTDIR='/mnt/yaffs/Qtlib' //Qt庫

      export QT_QWS_FONTDIR='/mnt/yaffs/Qtlib/fonts'//字體庫

      export PATH=$QTDIR/BIN:$PATH //命令程序

      export QWS_DISPLAY=LinuxFb:/dev/fb0 //設(shè)定顯示設(shè)備

      export QWS_SIZE=640x480 //分辨率

      export QWS_SW_CURSOR=1 //顯示鼠標(biāo)

      export QT_ONSCREEN_PAINT=0

      export POINTERCAL_FILE='/mnt/yaffs/pointercal'//觸摸校正值

      export QWS_MOUSE_PROTO='tslib:/dev/event0'//觸摸屏為鼠標(biāo)

      export LD_LIBRARY_PATH=$QTDIR/:/lib:/usr/lib:$LD_LIBRARY_PATH

      cd /mnt/yaffs/Microphone

      ./MicrophoneTV qws //運(yùn)行播放界面程序

      運(yùn)行命令中的-qws參數(shù)是用來解除所運(yùn)行程序?qū)υ瓉硐到y(tǒng)庫依賴關(guān)系.

      按照本文中的方法重新配置內(nèi)核,文件系統(tǒng),然后寫到嵌入式系統(tǒng)中,同時把qt程序,程序所以依賴的庫,mplayer等文件拷貝到相應(yīng)的文件夾,運(yùn)行以上的腳本就可以讓播放器運(yùn)行起來.

      4結(jié)語

      最后來看一下系統(tǒng)的運(yùn)行效果.在運(yùn)行播放界面之前,要先運(yùn)行觸摸校正程序,然后進(jìn)行網(wǎng)卡驅(qū)動加載和3G撥號,確保連接上互聯(lián)網(wǎng)后,可以直接在列表中添加一些URL或者本地文件.添加完成后,可以在列表中選擇要播放的頻道,然后點(diǎn)擊OK按鈕.播放列表如圖4-1所示.選擇完播放頻道后,點(diǎn)擊播放按鈕,就可以播放相應(yīng)的視頻.在開發(fā)板的LCD中可以看到流暢的網(wǎng)絡(luò)電視畫面.圖4-2中為播放廈門衛(wèi)視的效果圖.

      到這里整個系統(tǒng)的設(shè)計(jì)已經(jīng)完成了.本文介紹了在嵌入式linux平臺上3G網(wǎng)絡(luò)媒體移動播放終端的實(shí)現(xiàn)技術(shù)方案.詳細(xì)分析了3G網(wǎng)卡的硬件和驅(qū)動,3G網(wǎng)絡(luò)接入的ppp撥號實(shí)現(xiàn),MPlayer嵌入式系統(tǒng)下定位播放,QT可視化控制MPlayer,QT移植等主要技術(shù),在嵌入式平臺實(shí)現(xiàn)了3G網(wǎng)絡(luò)流媒體的播放功能.實(shí)驗(yàn)測試結(jié)果表明,本終端既可以流暢播放本地視頻,也可以通過3G網(wǎng)絡(luò)實(shí)現(xiàn)在線視頻點(diǎn)播.經(jīng)過轉(zhuǎn)化可以做成移動電視,網(wǎng)絡(luò)廣告機(jī),視頻會議等終端設(shè)備.值得一提的是,整個系統(tǒng)的硬件配置還不到Android平臺最低配置要求的一半,可見若能實(shí)現(xiàn)本終端的產(chǎn)業(yè)化,無疑可以有效地降低生產(chǎn)成本,從而促進(jìn)移動電視,網(wǎng)絡(luò)廣告機(jī)等產(chǎn)品的普及.

      [1]Google公司,Android Porting Guide,[EB/OL].[2008-06-09].http://www.netmite.com/android/mydroid/development/pdk/docs/index.html

      [2]北京博創(chuàng).S2410經(jīng)典實(shí)驗(yàn)指導(dǎo)書[M].北京博創(chuàng)興業(yè)科技有限公司,2009.

      [3]QUALCOMM公司,QSC6085 Hardware Training,[EB/OL].[2007-04].http://www.datasheet.co.kr/datasheet-html/Q/S/C/QSC6055_QUALCOMM.pdf.html

      [4]宋寶華.Linux設(shè)備驅(qū)動開發(fā)詳解[M].北京:人民郵電出版社,2008.

      [5]李善平,瀏文峰,王煥龍.Linux與嵌入式系統(tǒng)[M].北京:清華大學(xué)出版社,2006.

      [6]MPlayer工作組,MPlayer-電影播放器,[EB/OL].[2010-02].http://www.mplayerhq.hu/DOCS/HTML/zh_CN/index.html

      猜你喜歡
      播放器網(wǎng)卡內(nèi)核
      在DDS 中間件上實(shí)現(xiàn)雙冗余網(wǎng)卡切換的方法
      萬物皆可IP的時代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
      強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
      Walkman誕生40周年 索尼適時發(fā)布NW-ZX500和NW-A100系列播放器
      基于STM32的MP3播放器設(shè)計(jì)
      電子制作(2019年9期)2019-05-30 09:41:44
      Server 2016網(wǎng)卡組合模式
      基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
      Linux內(nèi)核mmap保護(hù)機(jī)制研究
      Moon ACE播放器/放大器一體機(jī)
      播放器背板注塑模具設(shè)計(jì)
      中國塑料(2015年8期)2015-10-14 01:10:55
      微山县| 安阳县| 鄂托克前旗| 隆回县| 九寨沟县| 自贡市| 瑞金市| 兴安盟| 依兰县| 社旗县| 宣恩县| 儋州市| 仁布县| 和静县| 大英县| 龙川县| 和硕县| 金塔县| 商洛市| 云浮市| 晴隆县| 德庆县| 三明市| 乐亭县| 普定县| 罗山县| 西丰县| 睢宁县| 灵川县| 灵武市| 五台县| 泗洪县| 铜山县| 巴林左旗| 扬中市| 瓦房店市| 德清县| 射阳县| 齐齐哈尔市| 建宁县| 化德县|