成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用Flash在電腦與Android間開發(fā)局域網(wǎng)P2P項(xiàng)目

移動(dòng)開發(fā) Android
Android2.2移動(dòng)設(shè)備,本例為HTC Desire (A8180),需要到Android Market下載安裝Adobe AIR2.5應(yīng)用程序以及支持UDP協(xié)議的局域網(wǎng)環(huán)境。

要求

你需要先安裝下列產(chǎn)品:

Flash Professional CS5

Flash Professional CS5上的AIR for Android開發(fā)插件

示例文件:

預(yù)備知識(shí)

  • 會(huì)使用Flash Pro制作和發(fā)布項(xiàng)目
  • ActionScript 3.0中級(jí)編程水平

使用FLASH PROFESSIONAL CS5開發(fā)運(yùn)行于ANDROID平臺(tái)的AIR2.5應(yīng)用

Android 2.2平臺(tái)支持Adobe AIR運(yùn)行時(shí)環(huán)境,版本為2.5,使用開發(fā)工具Flash Builder Burrito可以基于Flex SDK 4.5 (Hero)開發(fā)一個(gè)AIR2.5的應(yīng)用,對(duì)于Flash Pro用戶來說,使用裝有AIR for Android插件的Flash Pro CS5同樣可以方便快速地開發(fā)一個(gè)手機(jī)應(yīng)用。

如果你沒有安裝Flash Profession CS5,請(qǐng)到這里下載試用版,然后再到Adobe實(shí)驗(yàn)室下載AIR2.5開發(fā)插件(Beta 2),安裝成功后打開Flash,在開始畫面中新建一個(gè)AIR for Android文檔。這篇帖子用MAC 英文版的Flash Pro舉例。

在Flash Profession CS5中新建一個(gè)AIR for Android項(xiàng)目。

圖1. 在Flash Profession CS5中新建一個(gè)AIR for Android項(xiàng)目

由于安裝了AIR2.5開發(fā)包,F(xiàn)lash Professional CS5便可以作為一個(gè)發(fā)布AIR2.5的工具,打開Publish Settings,看到Flash的發(fā)布環(huán)境是AIR Android,點(diǎn)擊右面的設(shè)置按鈕,可以進(jìn)入AIR2.5的發(fā)布設(shè)置面板:

AIR2.5的發(fā)布設(shè)置面板

圖2. AIR2.5的發(fā)布設(shè)置面板

General里是一些關(guān)于應(yīng)用的基本信息,Android平臺(tái)下的應(yīng)用安裝包是APK文件,在這個(gè)面板里可以直接給APK文件命名,并且定義應(yīng)用程序名稱。需要注意的是在App ID這一項(xiàng)里可以定義應(yīng)用程序ID,id值不能有下劃線等特殊字符,否則編譯的時(shí)候會(huì)報(bào)錯(cuò)。

在Aspect ratio里可以設(shè)置應(yīng)用在手機(jī)中的顯示方式為橫向(landscape)或者縱向(portrait)。也可以指定是否全屏或者是否按設(shè)備的傾斜方向自動(dòng)調(diào)整橫縱顯示(Auto orientation)。

接下來是設(shè)置圖像的渲染方式,這里有三個(gè)選項(xiàng)Auto,CPU和GPU,如果選擇了GPU,會(huì)優(yōu)先使用設(shè)備的顯卡來渲染圖像,不同的設(shè)備顯卡有不同的限制,所以如果選擇這一項(xiàng)需要在多個(gè)設(shè)備中測試以確保無誤。Android的GPU有如下幾點(diǎn)限制:

  • 不支持濾鏡效果
  • 不支持PixelBender的圖片疊加和填充效果
  • 不支持以下的圖像疊加效果:layer,alpha,erase,overlay,hardlight,lighten,darken
  • 不建議選擇GPU來渲染視頻

如果使用GPU渲染,軟鍵盤打開時(shí)輸入框不會(huì)自動(dòng)調(diào)整到可視范圍內(nèi),所以需要將文本框位置固定在上半屏。

如果一個(gè)顯示對(duì)象不能被GPU渲染,比如加了濾鏡的影片剪輯,它會(huì)完全不顯示。

在Deployment面板中設(shè)置部署和發(fā)布參數(shù)

圖3. 在Deployment面板中設(shè)置部署和發(fā)布參數(shù)

Deployment是部署和發(fā)布的一些設(shè)置,如同發(fā)布一個(gè)桌面版的AIR應(yīng)用程序一樣,發(fā)布Android AIR也需要驗(yàn)證。
在Android部署類型(Deployment Type)中可以選擇Device release,Emulator release和Debug。如果選擇了Debug,可以通過網(wǎng)絡(luò)在設(shè)備與Flash間建立一個(gè)測試環(huán)境,在Flash里打開Debug->Begin Remote Debug Session->ActionScript 3.0,并且在設(shè)備中顯示的對(duì)話框中輸入主機(jī)的IP地址和主機(jī)名稱。
After publishing可以選擇安裝應(yīng)用到設(shè)備中,并且同時(shí)運(yùn)行應(yīng)用,建議勾選兩項(xiàng)。

Icons 是用來設(shè)置應(yīng)用的顯示圖標(biāo)(36×36, 48×48, 72×72),圖片支持PNG文件。

在Permissions中設(shè)置INTERNET權(quán)限

圖4. 在Permissions中設(shè)置INTERNET權(quán)限

Permissions是設(shè)置應(yīng)用的訪問權(quán)限,因?yàn)楸纠枰_發(fā)一個(gè)P2P的網(wǎng)絡(luò)應(yīng)用,所以需要選擇INTERNET這一項(xiàng)。

接下來就是在移動(dòng)設(shè)備上(本例為HTC Desire)的設(shè)置,打開設(shè)置->應(yīng)用程序->開發(fā),選擇"USB調(diào)試",便可以使用USB將設(shè)備與電腦連接,并發(fā)布一個(gè)AIR2.5應(yīng)用。

使用FLASH P2P技術(shù)在局域網(wǎng)內(nèi)搭建一個(gè)NETGROUP連接

Flash P2P (Pear to Pear)技術(shù)允許各個(gè)聯(lián)網(wǎng)客戶端使用Real-Time Media Flow Protocol (RTMFP)協(xié)議進(jìn)行點(diǎn)對(duì)點(diǎn)通訊。在廣域網(wǎng)需要連接到支持RTMFP協(xié)議的服務(wù)器,在局域網(wǎng)則不需要服務(wù)器,可以使用組播地址(Multicast address)進(jìn)行通訊。P2P需要通過用戶數(shù)據(jù)報(bào)協(xié)議(UDP)來傳輸數(shù)據(jù),所以確保你的網(wǎng)關(guān)沒有阻止UDP協(xié)議。
如果你不確定你的設(shè)備是否支持UDP通訊,請(qǐng)用手機(jī)瀏覽器訪問這個(gè)網(wǎng)址http://cc.rtmfp.net來自動(dòng)檢測你的網(wǎng)絡(luò)狀態(tài)。

這里介紹一個(gè)在局域網(wǎng)內(nèi)建立P2P的例子,基本思路是建立一個(gè)NetConnection,然后搭建一個(gè)NetGroup,也就是通訊團(tuán)隊(duì),最后與團(tuán)隊(duì)中其他鄰居進(jìn)行廣播通訊。

使用NetConnection建立連接,如果參數(shù)為"rtmfp:",則會(huì)建立一個(gè)局域網(wǎng)連接。

  1. nc = new NetConnection(); 
  2. nc.addEventListener(NetStatusEvent.NET_STATUS,netStatus); 
  3. nc.connect("rtmfp:"); 

使用NetGroup建立通訊團(tuán)隊(duì),在GroupSpecifier里可以指定團(tuán)隊(duì)id,通過它可以建立PIN碼來進(jìn)行用戶過濾。按下面的代碼可以建立一個(gè)NetGroup團(tuán)隊(duì),如果要搭建局域網(wǎng)P2P,則必須使用組播地址(Multicast Address), 并且指定地址IP和端口,請(qǐng)查閱這里了解更多關(guān)于組播地址的信息。

  1. private function setupGroup():void{ 
  2. var gs:GroupSpecifier = new GroupSpecifier("localgroup"); 
  3. gs.ipMulticastMemberUpdatesEnabled = true
  4. gs.multicastEnabled = true
  5. gs.postingEnabled = true
  6. gs.routingEnabled = true
  7. gs.addIPMulticastAddress("239.254.254.2:30303"); 
  8.  
  9. ng = new NetGroup(nc,gs.groupspecWithoutAuthorizations()); 
  10. ng.addEventListener(NetStatusEvent.NET_STATUS,netStatus); 

偵聽NetStatusEvent事件來獲取網(wǎng)絡(luò)狀態(tài),NetStatusEvent偵聽器是團(tuán)隊(duì)內(nèi)通訊的窗口。如果鄰居連接到了NetGroup,便可以使用myNetGroup.post方法來廣播消息對(duì)象,對(duì)方通過NetGroup.Posting.Notify來獲取消息。

  1. private function netStatus(pEvent:NetStatusEvent):void{ 
  2. dispatchEvent(pEvent); 
  3. switch(pEvent.info.code){ 
  4. case "NetConnection.Connect.Success": 
  5. setupGroup(); 
  6. break; 
  7. case "NetGroup.Connect.Success": 
  8. dispatchEvent(new NetEvent(NetEvent.CONNECTED)); 
  9. break; 
  10. case "NetGroup.Neighbor.Connect": 
  11. dispatchEvent(new NetEvent(NetEvent.NEIGHBOR_CONNECTED)); 
  12. break; 
  13. case "NetGroup.Posting.Notify": 
  14. dispatchEvent(new NetEvent(NetEvent.POSTING_NOTIFY)); 
  15. dataObject = pEvent.info.message; 
  16. break; 

需要注意的幾點(diǎn)問題:

首次連接的時(shí)間根據(jù)網(wǎng)絡(luò)狀態(tài)的不同可能會(huì)很長,尤其是無線網(wǎng)絡(luò)。
使用手機(jī)的WiFi熱點(diǎn)來建立連接,熱點(diǎn)機(jī)與電腦無法連接。

運(yùn)行效果

圖5. 運(yùn)行效果

關(guān)于作者

李鵬(James Li),2001年畢業(yè)于吉林大學(xué)商學(xué)院,同年接觸Photoshop,Illustrator和Flash。畢業(yè)后一直在從事Flash的設(shè)計(jì)與開發(fā),在教育、IT、互聯(lián)網(wǎng)廣告等不同領(lǐng)域里做過4年的Flash設(shè)計(jì)師和5年的AIR程序開發(fā),期間曾在2006與2008年兩次去德國工作,對(duì)Flash前端交互設(shè)計(jì)有獨(dú)到的見解和豐富的經(jīng)驗(yàn)。

責(zé)任編輯:佚名 來源: jamesli.cn/blog
相關(guān)推薦

2009-07-22 15:52:01

2009-01-18 09:36:00

2010-03-22 15:27:40

云計(jì)算

2024-08-06 14:03:35

2012-12-10 09:46:21

P2P云存儲(chǔ)Symform

2009-01-08 09:52:00

2010-07-13 14:41:14

2020-03-05 20:30:15

Syncthing文件同步工具開源

2022-07-19 16:59:04

流媒體傳輸IPC物聯(lián)網(wǎng)

2010-12-13 13:17:36

360網(wǎng)速保護(hù)P2P下載

2024-04-03 08:25:52

2011-03-09 11:09:07

Skiller限速局域網(wǎng)

2009-05-18 09:11:00

IPTV融合寬帶

2018-08-16 07:29:02

2015-04-27 11:49:23

2010-06-28 11:15:45

BitTorrent協(xié)

2012-09-25 13:47:43

C#網(wǎng)絡(luò)協(xié)議P2P

2012-10-24 10:04:09

2017-08-04 09:13:44

網(wǎng)貸金融互金

2010-07-07 10:31:45

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美亚洲在线 | 欧美a在线看 | 麻豆精品一区二区三区在线观看 | 国产ts一区 | 日韩成人在线观看 | 成在线人视频免费视频 | 九色在线观看 | 精品福利视频一区二区三区 | 中日av| 国产精品亚洲成在人线 | 国产成人综合在线 | 日韩av最新网址 | 五月激情综合网 | 成人久久久 | xx性欧美肥妇精品久久久久久 | 伊人无码高清 | 欧美最猛黑人 | 欧美一区二区三区,视频 | 国产免费一区二区 | 久久午夜电影 | 国产精品视频一区二区三区, | 久久夜视频 | 91观看 | av在线免费观看网址 | 国产成人精品免费视频大全最热 | 日韩电影一区 | 成人在线视频一区 | 国产区在线看 | 青青草在线视频免费观看 | av黄色在线 | 亚洲精品久久久久久国产精华液 | 91在线区 | а天堂中文最新一区二区三区 | 国产亚洲第一页 | 亚洲国产成人精品女人久久久 | 久草综合在线 | 日韩高清国产一区在线 | 欧美成人一区二区三区 | 日日夜夜视频 | 伊人91在线 | 国产精品一区二区无线 |