真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

flutter做直播,Flutter直播

flutter直播怎么實(shí)現(xiàn)?

flutter作為一個(gè)相對(duì)來(lái)說(shuō)比較新興的框架,相比于其他框架來(lái)說(shuō)避免不了存在生態(tài)不完善的問(wèn)題。要想實(shí)現(xiàn)flutter直播,可以接入即構(gòu)科技的Express Flutter SDK,然后通過(guò)集成、初始化SDK、登錄房間服務(wù)器、用戶推送自己的本地音視頻、拉取遠(yuǎn)端的音視頻流等簡(jiǎn)單五個(gè)步驟實(shí)現(xiàn)簡(jiǎn)單的實(shí)時(shí)音視頻場(chǎng)景進(jìn)行直播。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供順平網(wǎng)站建設(shè)、順平做網(wǎng)站、順平網(wǎng)站設(shè)計(jì)、順平網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、順平企業(yè)網(wǎng)站模板建站服務(wù),10年順平做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

可以用web端來(lái)做視頻直播嗎?

可以用web端來(lái)做視頻直播,不過(guò)你使用的是什么語(yǔ)言框架?自己如果技術(shù)不是很好的話,可以選擇接入第三方服務(wù)商的直播SDK的。我司接入的是 ZEGO即構(gòu)科技的低延遲直播SDK,java的,此外它還支持多種語(yǔ)言框架,包括React Native、JavaScript 、Swift、Electron、Flutter等。

Flutter動(dòng)態(tài)化方案調(diào)研

騰訊課堂14M

今日頭條3M

閑魚(yú)22M

百度貼吧13M

螞蟻財(cái)富56.8M

百度網(wǎng)盤(pán)14M

手機(jī)淘寶15M

貝殼找房8M

由粗粒度小組件動(dòng)態(tài)拼裝出頁(yè)面,Native端已經(jīng)有很多成熟的框架,如天貓的Tangram。

開(kāi)發(fā)語(yǔ)言:iOS、Android

適用場(chǎng)景:快速迭代的活動(dòng)營(yíng)銷頁(yè)面

優(yōu)點(diǎn):無(wú)侵入,更新簡(jiǎn)單

缺點(diǎn):提前預(yù)埋,擴(kuò)展性差,靈活性差

以webview作為容器的app,歷史悠久,最早到2011年。

開(kāi)發(fā)語(yǔ)言:HTML

適用場(chǎng)景:雙端嚴(yán)格一致的銀行類app,容器類的支付寶小程序等

優(yōu)點(diǎn):動(dòng)態(tài)更新,跨平臺(tái)

缺點(diǎn):性能,加載速度

UI用Xml+JS表達(dá),用Native View渲染。

開(kāi)發(fā)語(yǔ)言:Xml+JS

適用場(chǎng)景:雙端嚴(yán)格一致的銀行類app,容器類的支付寶小程序等

優(yōu)點(diǎn):native組件,生態(tài)成熟

缺點(diǎn):三方庫(kù)crash,性能缺陷

UI用Dart表達(dá),用Dart engine渲染。

Flutter官方不支持動(dòng)態(tài)化。原因是Flutter在 Release 模式下構(gòu)建的是 AOT 編譯產(chǎn)物,在 Debug 模式下構(gòu)建的是 JIT ,AOT 依賴的 Dart VM 和 JIT 并不一樣, JIT Release 并不支持 iOS 設(shè)備??尚械姆桨甘牵篈OT 需要一個(gè)編譯后的 “Dart VM”。抽離一份 DartVM 獨(dú)立編譯,再以動(dòng)態(tài)庫(kù)的形式引入項(xiàng)目。

開(kāi)發(fā)語(yǔ)言:Dart

適用場(chǎng)景:iOS、Android、Web、Desktop、Embed

優(yōu)點(diǎn):性能最佳

缺點(diǎn):增大包體積 20MB+

大廠的主流方案。UI用JS表達(dá),用Dart engine渲染。

開(kāi)發(fā)語(yǔ)言:JS、類JS

適用場(chǎng)景:iOS、Android

優(yōu)點(diǎn):性能最佳

缺點(diǎn):需要掌握J(rèn)S、Dart兩個(gè)語(yǔ)言和框架

大廠的主流方案。UI用Dart表達(dá),用Dart engineX渲染。

開(kāi)發(fā)語(yǔ)言:Dart

適用場(chǎng)景:iOS、Android

優(yōu)點(diǎn):性能最佳

缺點(diǎn):需要改造Dart engine

1、 美團(tuán)外賣(mài)Flutter動(dòng)態(tài)化實(shí)踐

2、 攜程App 首頁(yè)動(dòng)態(tài)化探索

3、 Flutter 動(dòng)態(tài)化在最右 App 中的實(shí)踐

4、 Flutter 動(dòng)態(tài)化熱更新的思考與實(shí)踐

5、 NOW直播Flutter動(dòng)態(tài)搜索列表頁(yè)實(shí)現(xiàn)

6、 Flutter動(dòng)態(tài)化的方案對(duì)比及最佳實(shí)現(xiàn)-閑魚(yú)

7、 基于JavaScript 的MXFlutter

Flutter筆記-調(diào)用原生IOS高德地圖sdk

2017年底因公司業(yè)務(wù)組合部門(mén)調(diào)整,新的團(tuán)隊(duì)部分維護(hù)的項(xiàng)目用React Native技術(shù)混合開(kāi)發(fā)。為適應(yīng)環(huán)境變化,開(kāi)啟瘋狂RN學(xué)習(xí)之旅,晚上回來(lái)啃資料看視頻??赡苡捎诒旧韺?duì)RN技術(shù)體驗(yàn)不感冒或者在環(huán)境之下強(qiáng)迫學(xué)習(xí)有點(diǎn)不爽。開(kāi)始尋找代替方案,F(xiàn)luter像一束曙光引起了我的注意,之后一直關(guān)注并利用閑余時(shí)間開(kāi)始探索。2018年一直學(xué)習(xí)到使用Flutter寫(xiě)項(xiàng)目,從0.2.0開(kāi)始到現(xiàn)在1.5版本的發(fā)布,終于開(kāi)始慢慢的爬出坑位了,但是因?yàn)椴糠挚丶杏X(jué)還是不如原生控件好用,因而Flutter提供了PlatformView部件。近期因項(xiàng)目中嚴(yán)重使用依賴地圖,故而做了Fluterr使用原生IOS高德地圖調(diào)研。因?yàn)槲冶旧硎且幻鸻ndroid開(kāi)發(fā)人員,初學(xué)IOS并記錄下來(lái)。

PlatformView是 flutter 官方提供的一個(gè)可以嵌入 Android 和 iOS 平臺(tái)原生 view 的小部件。

在我們實(shí)際開(kāi)發(fā)中,我們遇到一些 flutter 官方?jīng)]有提供的插件可以自己創(chuàng)建編寫(xiě)插件來(lái)實(shí)現(xiàn)部分功能,但是原生View在 flutter 中會(huì)遮擋住flutter 中的小部件,比如你想使用高德地圖sdk、視頻播放器、直播等原生控件,就無(wú)法很好的與 flutter 項(xiàng)目結(jié)合。

1、info.plist文件設(shè)置

2、 ios 端實(shí)現(xiàn)原生組件PlatformView提供原生view

3 、ios 端創(chuàng)建PlatformViewFactory用于生成PlatformView

4、 ios 端創(chuàng)建FlutterPlugin用于注冊(cè)原生組件

5 、flutter 平臺(tái)嵌入 原生view

iOS端的UiKitView目前還只是preview狀態(tài), 默認(rèn)是不支持的, 需要手動(dòng)打開(kāi)開(kāi)關(guān), 在info.plist文件中新增一行io.flutter.embedded_views_preview為true.

創(chuàng)建類 FlutterMapView 并實(shí)現(xiàn)FlutterPlatformView 協(xié)議

FlutterMapView.h

FlutterMapView.m

FlutterMapFactory.h

FlutterMapFactory.m

FlutterMapPlugin.h

FlutterMapPlugin.m

請(qǐng)前往 高德開(kāi)放平臺(tái)控制臺(tái) 申請(qǐng) iOS Key。

注意:Bundle Identifier需要與申請(qǐng)的時(shí)候填寫(xiě)的一致

地圖依賴的庫(kù)列舉如下:

基礎(chǔ) SDK AMapFoundationKit.framework

第一步:將解壓后的MAMapKit.framework 文件 copy 或 拖拽 到工程文件夾中,左側(cè)目錄選中工程名,在 TARGETS-Build Phases- Link Binary With Libaries 中點(diǎn)擊“+”按鈕,在彈出的窗口中點(diǎn)擊“Add Other”按鈕,選擇工程目錄下的 MAMapKit.framework 文件添加到工程中。

千萬(wàn)不要忘記將AMapFoundationKit也一起加入工程。

3D地圖正確配置應(yīng)如下圖所示:

需要引入的資源文件包括:AMap.bundle,其中:AMap.bundle 在 MAMapKit.framework 包中,AMap.bundle資源文件中存儲(chǔ)了定位、默認(rèn)大頭針標(biāo)注視圖等圖片,可利用這些資源圖片進(jìn)行開(kāi)發(fā)。

左側(cè)目錄中選中工程名,在右鍵菜單中選擇Add Files to “工程名”…,從MAMapKit.framework中選擇AMap.bundle文件,并勾選“Copy items if needed”復(fù)選框,單擊“Add”按鈕,將資源文件添加到工程中。

成功跑起來(lái) 。。 。


當(dāng)前題目:flutter做直播,Flutter直播
路徑分享:http://weahome.cn/article/phjhhp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部