krpano 全景视频,其UC和一部分浏览器播放并不起到作用,ios上面视频弹出播放,安卓上面黑屏播放,不支持,求解决方式

本文探讨了krpano全景视频在UC浏览器和部分安卓设备上播放异常的问题,描述了iOS上视频弹出播放,而安卓上显示黑屏。为了解决这一问题,建议使用videoplayer插件,并提供了myvideoplayer.js第三方插件的下载和URL配置方法,以实现安卓微信、QQ等应用中全景视频的正常播放。
摘要由CSDN通过智能技术生成

 

 

这里会用到:videoplayer插件完全解析

解决安卓微信、QQ全景视频播放的视频插件,替换即可。
下载第三方插件的文件 :myvideoplayer.js

/**
 * @return {[type]} [description]
 */
var krpanoplugin = function() {
	function R(a) {
		return "boolean" == typeof a ? a : 0 <= "yesontrue1".indexOf(String(a).toLowerCase())
	}

	function d(a, b, d, r, f) {
		3 == a || 4 == a || 5 == a ? c[b] = d : c.registerattribute(b, d, r, f);
		I.push(b)
	}

	function l(a, c, b, d) {
		a.addEventListener(c, b, d);
		J.push({
			obj: a,
			eventname: c,
			callback: b,
			capture: d
		})
	}

	function D(a) {
		var c, b = J.length,
			d;
		for (c = 0; c < b; c++) if (d = J[c], null == a || d.obj === a) d.obj.removeEventListener(d.eventname, d.callback, d.capture), J.splice(c, 1), c--, b--
	}

	function la() {
		function a(a) {
			p = !0;
			0 < n && (q.seek(n), n = -1)
		}

		function d(a) {
			f && e && (S(e.src + " - loading failed"), e = null)
		}

		function g(a) {
			0 == x && (y(), q.paused = u = !0, E(null), 0 == c.iscomplete && (c.iscomplete = !0, h.call(c.onvideocomplete, c)))
		}

		function r() {
			if (f && b && !(2 > b.readyState)) {
				var a = h.timertick,
					d = 0,
					v = Number(b.duration);
				isNaN(v) || 0 >= v || (e ? (u && !e.paused ? e.pause() : !u && e.paused && e.play(), d = e.currentTime) : u ? d = w : (0 == z && (z = a), d = w + F * Math.max(0, (a - z) / 1E3)), d >= v - .02 ? (d = v, x ? (w = 0, z = a + .1, e && (e.currentTime = 0)) : (y(), q.paused = u = !0, E(null), 0 == c.iscomplete && (c.iscomplete = !0, h.call(c.onvideocomplete, c)))) : c.iscomplete = !1, A = d, .01 < Math.abs(b.currentTime - A) && (b.currentTime = Number(A.toFixed(2))), b.autoplay = !0)
			}
		}
		var q = this,
			u = q.paused = !0,
			m = null,
			e = null,
			k = null,
			p = !1,
			n = -1,
			z = 0,
			w = 0;
		(function() {
			if (!0 !== window.krpanoHideiPhoneMediaControlsStyle) {
				window.krpanoHideiPhoneMediaControlsStyle = !0;
				var a = document.createElement("style");
				a.type = "text/css";
				a.innerHTML = "*::-webkit-media-controls-panel{display: none!important;-webkit-appearance:none;} *::--webkit-media-controls-play-button{display: none!important;-webkit-appearance:none;} *::-webkit-media-controls-start-playback-button{display: none!important;-webkit-appearance:none;}";
				document.getElementsByTagName("head")[0].appendChild(a)
			}
		})();
		q.start = function() {
			c.iPhoneMode = !0;
			b.autoplay = !0;
			b.pause();
			b.style.webkitMediaControls = !1;
			var f = X(c.videourl, ["m4a", "mp3"]),
				f = h.parsePath(f);
			n = -1;
			f ? (null == e && (k ? (e = k, k = null) : e = document.createElement("audio")), D(e), l(e, "canplay", a, !0), l(e, "error", d, !0), l(e, "ended", g, !0), e.loop = x, p = e.autoplay = !1, e.src = f, e.load(), e.pause()) : e && (e.src && (e.pause(), k = e), e = null);
			z = w = 0;
			u = c.pausedonstart;
			q.paused = u;
			m = setInterval(r, 1E3 / 60);
			b.currentTime = 0
		};
		q.play_audio = function() {
			e && e.play()
		};
		q.play = function() {
			1 == u && (u = q.paused = !1, c.iscomplete ? (c.iscomplete = !1, w = 0, e && (e.currentTime = 0)) : w = b.currentTime, z = h.timertick + .1, e && e.play(), E(null))
		};
		q.pause = function() {
			0 == u && (e && e.pause(), w = b.currentTime, u = q.paused = !0, E(null))
		};
		q.seek = function(a) {
			e ? p ? (e.currentTime = a, n = -1) : n = a : (n = -1, z = 0, w = a)
		};
		q.remove = function() {
			m && (clearInterval(m), m = null);
			e && (e.src && (e.pause(), k = e), e = null)
		};
		q.setplaybackrate = function(a) {
			if (e) try {
				e.playbackRate = a
			} catch (c) {}
		};
		q.setloop = function(a) {
			e && (e.loop = a)
		};
		q.need_touchstart_play = function() {
			return null != e && e.paused
		};
		q.try_touchstart_play = function() {
			return e ? (e.play(), 0 == e.paused) : !0
		}
	}

	function S(a) {
		var b = c ? c.onerror 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值