中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

H5開發視頻遇到的問題怎么解決

發布時間:2020-07-09 10:25:09 來源:億速云 閱讀:212 作者:Leah 欄目:web開發

H5開發視頻遇到的問題怎么解決?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

最近做了一些嵌入視頻的活動,積累了點視頻方面的經驗,下面記錄下別人和自己踩過的坑以及相應的解決方案。
1、碰到問題和解決方案
1.1、ios 網頁中播放視頻默認全屏(點擊視頻會彈出播放器進行全屏播放)。
解決不全屏播放可以添加下列屬性webkit-playsinline='true' 和 playsinline='true' 如果設置上面屬性還沒有效果,那么可以再配合下面這個插件試試。 iphone-inline-video
備注:ios下在微博中打開網頁播放視頻會彈出播放器播放,設置playsinline屬性無效,還必須使用上面那個插件,親測有效。
1.2、andriod中video播放完后顯示推薦視頻
移動端瀏覽器中的video元素是比較特別的,早期無論是在iOS還是Android的瀏覽器中,它都位于頁面的最頂層,無法被遮蓋。后來這個問題在iOS下得到了解決,但是Android的瀏覽器則問題依舊。X5是騰訊基于Webkit開發的渲染引擎,它提供了一種名叫「同層播放器」的特殊video元素以解決遮蓋問題。通過設置

x5-video-player-type="h6" 可以開啟同層播放器,來避免播放后顯示推薦視頻的問題。
x5-video-player-fullscreen="true" //視頻全屏播放
x5-video-orientation="portrait"//視頻豎屏模式播放

1.3、視頻的適配
目前設計師一般是按照iphone5或者iphone7的標準去設計視頻,一般可以通過寬高100%來播放視頻,如果發現視頻還是不行那么就需要根據實際情況設置 object-fit屬性來解決了。 詳見半深入理解CSS3 object-position/object-fit屬性
備注:在webkit內核瀏覽器下,默認是object-fit:contain。
1.4、js控制視頻的播放
在ios中視頻和音頻一般都不會主動播放,除非用戶主動去點擊,所以需要通過js來監聽界面的交互來控制視頻的播放。
視頻的播放和暫停主要是調用play和pause方法。 而視頻播放過程中如果需要一些用戶的交互主要是通過timeupdate方法來監聽當前的播放時間,看一段代碼:

var isStop = false;
    videoElem.on('timeupdate', function () {
        var curTime = parseInt(videoElem[0].currentTime);
        if (curTime == 152) {//該時間點展示交互蒙層
            $('.js_first_stop').removeClass('hide');
        } else if (curTime > 152 && curTime == 153) {
            if (!isStop) {//解決ios暫停后再次點擊播放不了問題,因為該處觸發了多次,但是andriod沒有該問題。
                isStop = true;
                videoElem[0].pause();
            }
        } else if (curTime == 248) {
            $('.js_second_stop').removeClass('hide');
        }
    });

在ios中監聽timeupdate事件并暫停的視頻的時候需要引入一個全局的isStop變量,不然下次點擊繼續播放的時候沒反應(timeupdate的時候觸發了多次暫停),但是andriod是沒有這個問題的。 判斷視頻結束可以監聽視頻的ended事件

videoElem.on('ended',function(){});

或者監聽視頻的timeupdate事件,然后判斷ended屬性,如果為true則表示結束,false表示未結束。

videoElem.on('timeupdate',function(){
   if(videoElem[0].ended){
    //播放結束
   }
}

另外在andriod端開啟了同層播放器,微信端也提供了2個監聽進入同層播放器和退出同層播放器的事件。 進入同層播放器事件(開始播放視頻)。

videoElem.on("x5videoenterfullscreen", function(){}

點擊左上角返回鍵退出同層播放器。

videoElem.on('x5videoexitfullscreen',function(){}

最后需要注意的是在andriod端播放視頻后是不會主動退出同層播放器的。后續如果有展示的界面,也會在播放器中展示,感覺很怪異。這里可以通過鏈接跳轉來解決。
1.5、canvas播放視頻
canvas可以播放視頻,但是在某些andriod機上會看到有很嚴重的鋸齒,并且有些andriod瀏覽器播放的時候只有聲音而沒有圖像。
1.6、視頻編碼
mp4格式的視頻要h.264編碼方式,不然某些ios只有聲音而沒有圖像。
最后,一個完整的video配置的如下,僅供參考

<video class="js_video" style="object-fit: cover; width: 100%; height: 100%;" preload="load" 
playsinline="true" webkit-playsinline="true" x5-video-player-type="h6" x5-video-player-fullscreen="true"
 x5-video-orientation="portrait"src="https://video.mdcdn.cn/friend2018.mp4"></video>

看完上述內容,你們掌握H5開發視頻遇到的問題怎么解決的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新和县| 武乡县| 通道| 新密市| 焦作市| 吴江市| 浠水县| 泰州市| 武乡县| 天门市| 巩义市| 灯塔市| 桂林市| 密山市| 南江县| 高阳县| 铜陵市| 安塞县| 都安| 城固县| 饶河县| 内乡县| 黔西县| 绥德县| 博乐市| 阜康市| 陇川县| 连州市| 安阳县| 永定县| 濉溪县| 精河县| 凤冈县| 韶山市| 隆尧县| 通海县| 乐平市| 师宗县| 顺昌县| 贡觉县| 饶阳县|