安卓版微信視頻播放全屏處理

問題

在安卓版微信里飒房,video在播放的時(shí)候,如果在沒有做任何處理的情況下媚值,微信會(huì)全屏播放你的視頻狠毯,會(huì)嚴(yán)重影響一些例如直播之類的邊看視頻邊交互的H5應(yīng)用(注:在iOS里可以通過playsinline(iOS10之前需要寫成webkit-playsinline)這個(gè)屬性來讓視頻不默認(rèn)全屏播放)。示例如下:

代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>測(cè)試微信視頻</title>
    <style>
        video {
            width: 300px;
            height: 200px;
        }
    </style>
</head>
<body>
    <video src="https://www.seastart.tv/introduce.mp4" playsinline webkit-playsinline></video>
    <p>
        JavaScript褥芒,一種高級(jí)編程語言嚼松,通過解釋執(zhí)行,是一門動(dòng)態(tài)類型锰扶,面向?qū)ο螅ɑ谠停┑慕忉屝驼Z言[4]献酗。它已經(jīng)由ECMA(歐洲電腦制造商協(xié)會(huì))通過ECMAScript實(shí)現(xiàn)語言的標(biāo)準(zhǔn)化[4]。它被世界上的絕大多數(shù)網(wǎng)站所使用坷牛,也被世界主流瀏覽器(Chrome罕偎、IE、FireFox京闰、Safari颜及、Opera)支持。JavaScript是一門基于原型忙干、函數(shù)先行的語言[5]器予,是一門多范式的語言,它支持面向?qū)ο缶幊叹杵龋钍骄幊糖瑁约昂瘮?shù)式編程。它提供語法來操控文本施戴、數(shù)組反浓、日期以及正則表達(dá)式等,不支持I/O赞哗,比如網(wǎng)絡(luò)雷则、存儲(chǔ)和圖形等,但這些都可以由它的宿主環(huán)境提供支持肪笋。
    </p>
</body>
</html>

圖片:

  1. 未播放時(shí):
    未播放時(shí)
  2. 播放時(shí):
    播放時(shí)

可以看到第二個(gè)圖里播放視頻的時(shí)候下面的文字就不見了月劈,會(huì)嚴(yán)重影響用戶體驗(yàn),不只是微信藤乙,很多國(guó)產(chǎn)瀏覽器都會(huì)被視頻劫持播放...哎猜揪!用原生的不好嗎?

解決方法

  1. 和微信達(dá)成某種py交易坛梁,據(jù)我發(fā)現(xiàn)有些視頻網(wǎng)站在安卓版微信里是可以內(nèi)聯(lián)播放的而姐,和iOS上保持一致。(
  2. 還好微信還是留了些后路划咐,下面我來說一下第二種方法的具體操作拴念。

具體操作

  1. 先看這個(gè)騰訊H5同層播放器接入規(guī)范文檔钧萍。
  2. 注意看x5-video-player-type這個(gè)屬性以及x5videoenterfullscreenx5videoexitfullscreen這兩個(gè)事件
  3. x5-video-player-type可以讓視頻播放的時(shí)候政鼠,視頻上可以有其他元素风瘦,那么我們可以在視頻播放的時(shí)候把視頻作為整頁面的背景其他元素放在視頻之上。
  4. css中video的object-fit以及object-position可以將真正的視頻放在容器該有的位置公般。

好了有了以上的東西弛秋,直接上代碼看效果吧(為了方便我這里要引入一下早已被大佬拋棄的jQuery):

完整代碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>測(cè)試微信視頻</title>
    <style>
        html, body {
            margin: 0;
            padding: 0;
            height: 100%;
        }
        video {
            width: 100%;
            height: 211px;
        }
        video.android-full {
            position: relative;
            height: 100%;
            object-fit: contain;
            object-position: left 0 top 0;
        }
        video.android-full::-webkit-media-controls-enclosure {
            -webkit-appearance: none;
            position: absolute;
            top: 166px;
        }
        .desc.android-full {
            position: absolute;
            top: 211px;
        }
    </style>
</head>
<body>
    <video
        src="https://www.seastart.tv/introduce.mp4"
        x5-video-player-type="h5"
        playsinline
        webkit-playsinline
        controls></video>
    <p class='desc'>
        JavaScript,一種高級(jí)編程語言俐载,通過解釋執(zhí)行,是一門動(dòng)態(tài)類型登失,面向?qū)ο螅ɑ谠停┑慕忉屝驼Z言[4]遏佣。它已經(jīng)由ECMA(歐洲電腦制造商協(xié)會(huì))通過ECMAScript實(shí)現(xiàn)語言的標(biāo)準(zhǔn)化[4]。它被世界上的絕大多數(shù)網(wǎng)站所使用揽浙,也被世界主流瀏覽器(Chrome状婶、IE、FireFox馅巷、Safari膛虫、Opera)支持。JavaScript是一門基于原型钓猬、函數(shù)先行的語言[5]稍刀,是一門多范式的語言,它支持面向?qū)ο缶幊坛ú埽钍骄幊陶嗽拢约昂瘮?shù)式編程。它提供語法來操控文本澳迫、數(shù)組局齿、日期以及正則表達(dá)式等,不支持I/O橄登,比如網(wǎng)絡(luò)抓歼、存儲(chǔ)和圖形等,但這些都可以由它的宿主環(huán)境提供支持拢锹。
    </p>
    <script src='https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js'></script>
    <script>
        var $video = $('video');
        var $desc = $('.desc');
        $video[0].addEventListener('x5videoenterfullscreen', function() {
            $video.addClass('android-full');
            $desc.addClass('android-full');
        });
        $video[0].addEventListener('x5videoexitfullscreen', function() {
            $video.removeClass('android-full');
            $desc.removeClass('android-full');
        });
    </script>
</body>
</html>

效果圖:

效果圖

可以看到才有這個(gè)方法可以算是比較好的處理安卓版微信這個(gè)問題谣妻,雖然還有些瑕疵,不過也還行:)

感謝您的閱讀面褐,本文由 趙的拇指 版權(quán)所有拌禾。原文地址: https://www.zhaofinger.com/detail/23

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市展哭,隨后出現(xiàn)的幾起案子湃窍,更是在濱河造成了極大的恐慌闻蛀,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件您市,死亡現(xiàn)場(chǎng)離奇詭異觉痛,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)茵休,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門薪棒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人榕莺,你說我怎么就攤上這事俐芯。” “怎么了钉鸯?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵吧史,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我唠雕,道長(zhǎng)贸营,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任岩睁,我火速辦了婚禮钞脂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘捕儒。我一直安慰自己冰啃,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布肋层。 她就那樣靜靜地躺著亿笤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪栋猖。 梳的紋絲不亂的頭發(fā)上净薛,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音蒲拉,去河邊找鬼肃拜。 笑死,一個(gè)胖子當(dāng)著我的面吹牛雌团,可吹牛的內(nèi)容都是我干的燃领。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼锦援,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼猛蔽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤曼库,失蹤者是張志新(化名)和其女友劉穎区岗,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體毁枯,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡慈缔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了种玛。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片藐鹤。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖赂韵,靈堂內(nèi)的尸體忽然破棺而出娱节,到底是詐尸還是另有隱情,我是刑警寧澤祭示,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布括堤,位于F島的核電站,受9級(jí)特大地震影響绍移,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜讥电,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一蹂窖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧恩敌,春花似錦瞬测、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至恢口,卻和暖如春孝宗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背耕肩。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工因妇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人猿诸。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓婚被,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親梳虽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子址芯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容