1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      Wireshark工具介紹

      概述

      智能手機(jī)的開機(jī)畫面一般是由一幀靜態(tài)圖片或者一組靜態(tài)圖片組成。一組動(dòng)態(tài)圖片可以在代碼中實(shí)現(xiàn)開機(jī)動(dòng)畫的效果。為了豐富開機(jī)界面的形式,百變開機(jī)畫面補(bǔ)充了這樣的需求。

      成都創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)成都網(wǎng)站制作、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計(jì),對(duì)服務(wù)戶外休閑椅等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場(chǎng)的競爭激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!

      可以實(shí)現(xiàn)開機(jī)播放自定義視頻,又可以兼容開機(jī)播放靜態(tài)圖片的功能。

      該功能主要由兩個(gè)bin服務(wù)實(shí)現(xiàn)

      Counter服務(wù)是屬于系統(tǒng)bin服務(wù),位置在/system/bin/counter,擁有系統(tǒng)權(quán)限,可以讀寫系統(tǒng)file,實(shí)現(xiàn)開機(jī)畫面的倒計(jì)時(shí)功能與開機(jī)靜態(tài)圖片的展示。

      Play服務(wù)是屬于系統(tǒng)bin服務(wù),位置在/system/bin/counter,擁有系統(tǒng)權(quán)限,可以讀寫系統(tǒng)file,實(shí)現(xiàn)開機(jī)自定義視頻功能,可以支持mp4,ts等常見視頻格式

      類Counte實(shí)現(xiàn)

      counter.cpp是一個(gè)顯性的倒計(jì)時(shí)提示,在用戶自定義的開機(jī)視頻和開機(jī)畫面上顯示剩余秒數(shù)提示用戶,同時(shí)如果有靜態(tài)圖片,背景顯示圖片。

      1.??????Counter是系統(tǒng)bin服務(wù),通過createSurface創(chuàng)建實(shí)例作為圖層:

      status_t Counter::readyToRun() {

      ?

      ??? //獲取內(nèi)建顯示設(shè)備

      ??? sp dtoken(SurfaceComposerClient::getBuiltInDisplay(

      ??????????? ISurfaceComposer::eDisplayIdMain));

      DisplayInfo dinfo;

      //獲取默認(rèn)的Display對(duì)象參數(shù)

      ??? status_t status = SurfaceComposerClient::getDisplayInfo(dtoken, &dinfo);

      ??? if (status)

      ??????? return -1;

      ??? //創(chuàng)建native SurfaceView

      ??? sp control = session()->createSurface(String8("Counter"),

      ??????????? dinfo.w, dinfo.h, PIXEL_FORMAT_RGBA_8888, 0);

      ?

      ??? //操作SurfaceComposeClient,并設(shè)置圖層優(yōu)先級(jí)

      ??? SurfaceComposerClient::openGlobalTransaction();

      ??? control->setLayer(0x40000002);

      ??? SurfaceComposerClient::closeGlobalTransaction();

      ??? sp s = control->getSurface();

      ?

      ??? //初始化 opengl 和 egl引擎參數(shù)

      ??? const EGLint attribs[] = {

      ??????????? EGL_RED_SIZE,?? 8,

      ??????????? EGL_GREEN_SIZE, 8,

      ??????????? EGL_BLUE_SIZE,? 8,

      ??????????? EGL_ALPHA_SIZE, 8,

      ??????????? EGL_DEPTH_SIZE, 0,

      ???????????EGL_NONE

      };

      ?

      2.??????加載系統(tǒng)默認(rèn)UI資源,通過decodeImage來解碼圖片,并顯示在SurfaceLayer之上。

      status_t Counter::initTexture(Texture* texture, AssetManager& assets,

      ???????const char* name) {

      //聲明bitmap對(duì)象

      SkBitmap bitmap;

      //通過sk庫函數(shù)對(duì)圖片進(jìn)行decode

      SkImageDecoder::DecodeMemory(asset->getBuffer(false), asset->getLength(),

      ??????????? &bitmap, kUnknown_SkColorType, SkImageDecoder::kDecodePixels_Mode);

      ?

      //assert對(duì)象關(guān)閉,釋放資源

      asset->close();

      delete asset;

      ……

      }

      Wireshark工具介紹

      類Player.cpp 實(shí)現(xiàn)

      ??? Player.cpp是檢查data目錄下是否有視頻文件,通過在開機(jī)界面繪制surfaceview來播放視頻。

      ???在surfacelinger服務(wù)初始化完成后,啟動(dòng)Player服務(wù),創(chuàng)建surface示例并設(shè)置初始化view參數(shù)。這部分與初始化Counter過程一樣,需要?jiǎng)?chuàng)建Native Surface。

      檢測(cè)目錄下視頻文件后,開始調(diào)用MediaPlayer播放視頻,獲取視頻時(shí)長,格式,設(shè)置倒計(jì)時(shí)服務(wù),直到播放結(jié)束后進(jìn)入系統(tǒng)。

      播放視頻相關(guān)代碼流程:

      int main(int argc, char **argv) {

      ??? android::ProcessState::self()->startThreadPool();

      ?

      ??? //初始化SurfaceComposerClient

      sp composerClient = new SurfaceComposerClient;

      //獲取內(nèi)建顯示設(shè)備

      ??? sp display(SurfaceComposerClient::getBuiltInDisplay(

      ? ??????????ISurfaceComposer::eDisplayIdMain));

      //創(chuàng)建Surface,初始化相關(guān)參數(shù)

      ??? sp control =

      ??????? composerClient->createSurface(

      ??????????????? String8("A Surface"),

      ??????????????? displayWidth,

      ??????????????? displayHeight,

      ??????????????? PIXEL_FORMAT_RGB_565,

      ??????????????? 0);

      ???SurfaceComposerClient::closeGlobalTransaction();

      //創(chuàng)建MediaPlayer實(shí)例

      ??? sp player =

      ??????? service->create(client, AUDIO_SESSION_ALLOCATE);

      ?

      ??? //設(shè)置播放源目標(biāo)

      ??? if (player != NULL && player->setDataSource(source) == NO_ERROR) {

      ??????

      //設(shè)置播放Video的SurfaceTexture,用于顯示播放視頻流

      player->setVideoSurfaceTexture(surface->getIGraphicBufferProducer());

      //開始播放文件

      ??????? player->start();

      ??????? client->waitForEOS();

      ?????? //播放停止

      ??????? player->stop();

      ??? } else {

      ?????? ?fprintf(stderr, "failed to instantiate player.\n");

      }

      //關(guān)閉composerClient

      composerClient->dispose();

      }

      播放自定義視頻流程

      Wireshark工具介紹

      Counter與Player加載分析:

      在init.rc中添加counter與advert服務(wù),user權(quán)限聲明為root,初次啟動(dòng)設(shè)置為disabled,需要主動(dòng)調(diào)起。

      ?

      service connter /system/bin/counter

      ??? class core

      ? ??user root

      ??? group graphics audio

      ??? disabled

      oneshot

      ?

      service player /system/bin/player

      ??? class core

      ??? user root

      ??? group graphics audio

      ??? disabled

      ??? oneshot



      網(wǎng)站欄目:Wireshark工具介紹
      文章源于:http://ef60e0e.cn/article/jeeehg.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        唐河县| 通山县| 浮梁县| 南溪县| 博湖县| 商水县| 论坛| 镇安县| 江源县| 宜川县| 泰宁县| 常山县| 阳信县| 乌苏市| 嘉兴市| 山西省| 淮南市| 阿克| 姜堰市| 仁寿县| 平阴县| 西安市| 来凤县| 即墨市| 孟州市| 友谊县| 囊谦县| 板桥市| 会昌县| 米脂县| 棋牌| 来宾市| 丰县| 井陉县| 青铜峡市| 汉中市| 古丈县| 寿阳县| 玛纳斯县| 十堰市| 苍梧县|