unity学习笔记-uniwebview3的使用以及一些补充(视频问题已解决)
unity學(xué)習(xí)筆記
- uniwebview的使用
- 使用
- uniwebview視頻有聲音沒圖像的其中一個解決辦法
- uniwebview視頻有聲音沒圖像的其中一個解決辦法補(bǔ)充
- uniwebview補(bǔ)充
- 解決視頻播放問題
- 2021.9.3更新
uniwebview的使用
首先需要下載這個插件
unity官方的商店里就有這個可以直接下載,不過不是免費(fèi)的(我是白嫖的)
使用
2.9的版本里面是有demo的,我用的是3.1,已經(jīng)沒有demo了
網(wǎng)上的教程就是直接在場景中創(chuàng)建一個gameobject
然后給他添加uniwebview的腳本
然后給他添加url
這里注意,需要給這個網(wǎng)頁顯示一個image,網(wǎng)頁才能顯示出來
3.1的版本里有
紅框里的組件可以選擇,你可以把image拖進(jìn)這個地方,然后最簡單的在unity里內(nèi)嵌網(wǎng)頁的demo就出來了
這里需要注意一個地方
由于是在移動端才能顯示,所以在打包之后才能顯示出來
并且還需要在
這個文件里面,添加下面的這行代碼,否則會有err cleartext not permitted之類的異常,導(dǎo)致無法打開和顯示網(wǎng)站
也就是上面的這個位置
不過還是有一些問題需要注意
第一:打開h5游戲時會出現(xiàn)白屏的問題,里面的內(nèi)容是正常運(yùn)行的,如音頻等,就是畫面沒有
第二,目前還不太清楚怎么自定義界面,以及控制打開的方法
單純就是先記錄一下,可能需要大神指導(dǎo)才行,網(wǎng)上對這個插件的教程不多,而且我感覺這個更多的是由于jar包的原因,如果是這個的話調(diào)試起來就相當(dāng)麻煩了。因?yàn)榭淳W(wǎng)上對webview的說明都是在安卓環(huán)境下進(jìn)行修改的,但是我這里也不能獲得uniwebview的源代碼,還得重新打包之類的,希望不是這個原因吧
隔天更新:
需要注意
如果只是單純的從unity打包成安卓apk
就會出現(xiàn)上面視頻播放有聲音沒圖像的bug,以及h5游戲沒有畫面的情況
但是
uniwebview視頻有聲音沒圖像的其中一個解決辦法
如果把這個unity給export,然后放在as里運(yùn)行的話,這個問題就沒了
估計(jì)就是上面說的這個問題,打包給as 的時候,可能as里自帶的什么設(shè)置讓unity的webview能在as的環(huán)境下運(yùn)行h5界面
但是還是那個問題,程序運(yùn)行不報錯,不清楚到底是哪里的設(shè)置沒有弄好,這是真的陰間
unity打包給as,讓as進(jìn)行apk打包的流程可參考小弟之前寫的帖子
unity和as交互2019版
以上,由于本身項(xiàng)目就是需要放在as里跑的,所以這個問題用這個方法好像暫時能解決,還有其他的內(nèi)容沒有完成,這個問題只能先留著了,至少功能是實(shí)現(xiàn)了(dogde)
2021.6.24更新
uniwebview視頻有聲音沒圖像的其中一個解決辦法補(bǔ)充
在導(dǎo)入as再打包成apk的時候如果還是有這個問題的話,可以試試在as的app項(xiàng)目里的Androidmestifes.xml里添加下面的這個代碼,也就是上面的那個
android:usesCleartextTraffic=“true”
uniwebview補(bǔ)充
上面的這個問題不是因?yàn)闆]有加配置的關(guān)系
是因?yàn)樵贏ndroid里打開網(wǎng)頁的時候,會有網(wǎng)頁的緩存,所以第二次打開的時候會和之前的緩存有所沖突,需要清除掉
由于uniweview的生命周期目前還不是太了解,在摸索了一下午后,我的做法是不用uniwebview寫好的prefab,而是在需要打開頁面的時候動態(tài)的在場景中生成一個uniwebview,我用的是uniwebview3的版本,其他大佬用的好像都是比較久的,所以他們重寫uniwebview里的一些方法的時候我是用不了的,不同的版本好像有的變量和方法都變了
我是參考了其中一個大佬的方法,自己再修改了一下、
先創(chuàng)建一個url數(shù)組,方便調(diào)用
新建一個gameobject,重新命名。然后添加uniwebview組件
對這個組件進(jìn)行一些參數(shù)的設(shè)置
load里添加你要訪問的網(wǎng)頁名
show顯示網(wǎng)頁
frame對顯示網(wǎng)頁的布局進(jìn)行設(shè)置,這里設(shè)置的是全屏(領(lǐng)導(dǎo)の需求)
然后運(yùn)行就可以跑通了
由于不太了解這個插件的生命周期,我只是猜測的,uniwebview在通過物理鍵(手機(jī)自帶的home和返回鍵)退出內(nèi)嵌網(wǎng)頁的時候,會順便把自己給銷毀了,因?yàn)槲以囘^重新調(diào)用寫好的uniwebview對象的時候會直接報錯。如果是這樣的話也挺好,省的再去寫銷毀的方法
上面的寫法也不用在意網(wǎng)頁緩存的問題
到此基本解決~
剩下的就是設(shè)計(jì)網(wǎng)頁的人的事情了,除非還要再對網(wǎng)頁里的內(nèi)容進(jìn)行新的操作~
2021.6.29更新
解決視頻播放問題
最簡單粗暴的方法就是在網(wǎng)上購買最新的uniwebview(好像已經(jīng)到4了)插件,導(dǎo)入就可以解決視頻播放只有聲音沒有圖像的問題
提醒
如果你導(dǎo)如插件后,在真機(jī)上實(shí)際運(yùn)行的時候出現(xiàn)了
的問題,不要慌
雖然我一開始也慌了
因?yàn)樽钚掳姹镜膗niwebview里的androidmestfest之類的配置信息文件已經(jīng)用cs進(jìn)行處理了,所以他的位置不再放在plugins的android里了
那么怎么處理呢,經(jīng)過我的一番推敲
發(fā)現(xiàn)在editor里有一個settings的配置文件信息
點(diǎn)他你會發(fā)現(xiàn)有一些默認(rèn)的設(shè)置可以在這里直接進(jìn)行修改
其中就有usescleartraffic的選項(xiàng),把他打上勾就可以了
我試過在寫androidmestfest這個文件的cs腳本里強(qiáng)行寫上true,通過debug測試發(fā)現(xiàn)他還是會變成false,這里面還包括了一個changed的bool值,初步推測是為了防止使用者對這個插件代碼進(jìn)行了一些不小心的修改導(dǎo)致程序無法正常運(yùn)行,所以設(shè)置了這個變量來控制,加強(qiáng)代碼的穩(wěn)定性
從這個新版本的插件上,我體會到的就是程序員無窮無盡的強(qiáng)大
如果不是這個插件,我都忘了配置信息文件是可以通過腳本來書寫的
2021.9.3更新
更新一個小bug
如果在使用的過程中遇到明明訪問到的是正確的地址,但是網(wǎng)頁打開的偏偏是其他亂七八糟的地址的bug
這個問題解決很簡單,但是試錯的過程還是挺耗精力的,因?yàn)榇_實(shí)不知道是什么原因引起的,在經(jīng)過多方查詢和自己的實(shí)驗(yàn)下發(fā)現(xiàn)了問題所在
就是需要在訪問完網(wǎng)頁之后清除一下緩存
這些個緩存過多的時候會引起很多的問題,就比如這個網(wǎng)頁加載的問題
這個問題他還很奇怪,有的網(wǎng)頁是可以打開的, 有的是不行的.當(dāng)然可能跟我測試的次數(shù)太少有關(guān),反正不管是不是這個緩存的問題,我們按照常理來說都是需要清理緩存的,這樣對性能的消耗也是很好的優(yōu)化和習(xí)慣,這里記錄一下
至于清理緩存的方法其實(shí)這個uniwebview插件自帶了這個方法,在獲得這個組件之后寫上onshouldClose的委托就可以了~具體的寫法如下
以上是純手打的,可能會有點(diǎn)問題,不過大致的思路就是這樣的.就可以解決網(wǎng)址是正確的但是打開的是其他頁面的bug了
加油!
總結(jié)
以上是生活随笔為你收集整理的unity学习笔记-uniwebview3的使用以及一些补充(视频问题已解决)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: saej1929_(1929年-2020
- 下一篇: 前端学习(2977):vue-eleme