mirror of
https://gitee.com/beecue/fastbee.git
synced 2025-12-17 16:36:03 +08:00
删除多余文件,添加引用的js文件
This commit is contained in:
209
vue/public/js/player.js
Normal file
209
vue/public/js/player.js
Normal file
@@ -0,0 +1,209 @@
|
||||
function getBrowser() {
|
||||
const UserAgent = window.navigator.userAgent.toLowerCase() || '';
|
||||
let browserInfo = {
|
||||
type: '',
|
||||
version: ''
|
||||
};
|
||||
var browserArray = {
|
||||
IE: window.ActiveXObject || "ActiveXObject" in window, // IE
|
||||
Chrome: UserAgent.indexOf('chrome') > -1 && UserAgent.indexOf('safari') > -1, // Chrome浏览器
|
||||
Firefox: UserAgent.indexOf('firefox') > -1, // 火狐浏览器
|
||||
Opera: UserAgent.indexOf('opera') > -1, // Opera浏览器
|
||||
Safari: UserAgent.indexOf('safari') > -1 && UserAgent.indexOf('chrome') == -1, // safari浏览器
|
||||
Edge: UserAgent.indexOf('edge') > -1, // Edge浏览器
|
||||
QQBrowser: /qqbrowser/.test(UserAgent), // qq浏览器
|
||||
WeixinBrowser: /MicroMessenger/i.test(UserAgent) // 微信浏览器
|
||||
};
|
||||
// console.log(browserArray)
|
||||
for (let i in browserArray) {
|
||||
if (browserArray[i]) {
|
||||
let versions = '';
|
||||
if (i === 'IE') {
|
||||
const versionArray = UserAgent.match(/(msie\s|trident.*rv:)([\w.]+)/)
|
||||
if (versionArray && versionArray.length > 2) {
|
||||
versions = UserAgent.match(/(msie\s|trident.*rv:)([\w.]+)/)[2];
|
||||
}
|
||||
} else if (i === 'Chrome') {
|
||||
for (let mt in navigator.mimeTypes) {
|
||||
//检测是否是360浏览器(测试只有pc端的360才起作用)
|
||||
if (navigator.mimeTypes[mt]['type'] === 'application/360softmgrplugin') {
|
||||
i = '360';
|
||||
}
|
||||
}
|
||||
const versionArray = UserAgent.match(/chrome\/([\d.]+)/);
|
||||
if (versionArray && versionArray.length > 1) {
|
||||
versions = versionArray[1];
|
||||
}
|
||||
} else if (i === 'Firefox') {
|
||||
const versionArray = UserAgent.match(/firefox\/([\d.]+)/);
|
||||
if (versionArray && versionArray.length > 1) {
|
||||
versions = versionArray[1];
|
||||
}
|
||||
} else if (i === 'Opera') {
|
||||
const versionArray = UserAgent.match(/opera\/([\d.]+)/);
|
||||
if (versionArray && versionArray.length > 1) {
|
||||
versions = versionArray[1];
|
||||
}
|
||||
} else if (i === 'Safari') {
|
||||
const versionArray = UserAgent.match(/version\/([\d.]+)/);
|
||||
if (versionArray && versionArray.length > 1) {
|
||||
versions = versionArray[1];
|
||||
}
|
||||
} else if (i === 'Edge') {
|
||||
const versionArray = UserAgent.match(/edge\/([\d.]+)/);
|
||||
if (versionArray && versionArray.length > 1) {
|
||||
versions = versionArray[1];
|
||||
}
|
||||
} else if (i === 'QQBrowser') {
|
||||
const versionArray = UserAgent.match(/qqbrowser\/([\d.]+)/);
|
||||
if (versionArray && versionArray.length > 1) {
|
||||
versions = versionArray[1];
|
||||
}
|
||||
}
|
||||
browserInfo.type = i;
|
||||
browserInfo.version = parseInt(versions);
|
||||
}
|
||||
}
|
||||
return browserInfo;
|
||||
}
|
||||
|
||||
|
||||
function checkSupportMSEHevc() {
|
||||
return window.MediaSource && window.MediaSource.isTypeSupported('video/mp4; codecs="hev1.1.6.L123.b0"');
|
||||
}
|
||||
|
||||
function checkSupportMSEH264() {
|
||||
return window.MediaSource && window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.64002A"');
|
||||
}
|
||||
|
||||
function checkSupportWCSHevc() {
|
||||
const browserInfo = getBrowser();
|
||||
|
||||
return browserInfo.type.toLowerCase() === 'chrome' && browserInfo.version >= 107 && (location.protocol === 'https:' || location.hostname === 'localhost');
|
||||
}
|
||||
|
||||
function checkSupportWCS() {
|
||||
return "VideoEncoder" in window;
|
||||
}
|
||||
|
||||
function checkSupportWasm() {
|
||||
try {
|
||||
if (typeof window.WebAssembly === 'object' && typeof window.WebAssembly.instantiate === 'function') {
|
||||
const module = new window.WebAssembly.Module(Uint8Array.of(0x0, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00));
|
||||
if (module instanceof window.WebAssembly.Module) {
|
||||
return new window.WebAssembly.Instance(module) instanceof window.WebAssembly.Instance;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function checkSupportSIMD() {
|
||||
return WebAssembly && WebAssembly.validate(new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 5, 1, 96, 0, 1, 123, 3, 2, 1, 0, 10, 10, 1, 8, 0, 65, 0, 253, 15, 253, 98, 11]));
|
||||
}
|
||||
|
||||
function supportSharedArrayBuffer() {
|
||||
try {
|
||||
new SharedArrayBuffer(1);
|
||||
return true;
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
let support = document.getElementById('mseSupport');
|
||||
let notSupport = document.getElementById('mseNotSupport');
|
||||
if (support && notSupport) {
|
||||
if (checkSupportMSEHevc()) {
|
||||
support.style.display = 'inline-block'
|
||||
} else {
|
||||
notSupport.style.display = 'inline-block'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
let supportH264 = document.getElementById('mseSupport264');
|
||||
let notSupportH264 = document.getElementById('mseNotSupport264');
|
||||
if (supportH264 && notSupportH264) {
|
||||
if (checkSupportMSEH264()) {
|
||||
supportH264.style.display = 'inline-block'
|
||||
} else {
|
||||
notSupportH264.style.display = 'inline-block'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
let supportWcsHevc = document.getElementById('wcsSupport');
|
||||
let notSupportWcsHevc = document.getElementById('wcsNotSupport');
|
||||
|
||||
if (supportWcsHevc && notSupportWcsHevc) {
|
||||
if (checkSupportWCSHevc()) {
|
||||
supportWcsHevc.style.display = 'inline-block';
|
||||
} else {
|
||||
notSupportWcsHevc.style.display = 'inline-block'
|
||||
}
|
||||
}
|
||||
|
||||
let supportWcs = document.getElementById('wcsSupport264');
|
||||
let notSupportWcs = document.getElementById('wcsNotSupport264');
|
||||
|
||||
if (supportWcs && notSupportWcs) {
|
||||
if (checkSupportWCS()) {
|
||||
supportWcs.style.display = 'inline-block';
|
||||
} else {
|
||||
notSupportWcs.style.display = 'inline-block'
|
||||
}
|
||||
}
|
||||
|
||||
let wasmSupport = document.getElementById('wasmSupport');
|
||||
let wasmNotSupport = document.getElementById('wasmNotSupport');
|
||||
|
||||
if (wasmSupport && wasmNotSupport) {
|
||||
if (checkSupportWasm()) {
|
||||
wasmSupport.style.display = 'inline-block';
|
||||
} else {
|
||||
wasmNotSupport.style.display = 'inline-block';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
let supportSimd = document.getElementById('simdSupport');
|
||||
let notSupportSimd = document.getElementById('simdNotSupport');
|
||||
|
||||
if (supportSimd && notSupportSimd) {
|
||||
if (checkSupportSIMD()) {
|
||||
supportSimd.style.display = 'inline-block';
|
||||
} else {
|
||||
notSupportSimd.style.display = 'inline-block'
|
||||
}
|
||||
}
|
||||
|
||||
let supportSimdMtSupport = document.getElementById('simdMtSupport');
|
||||
var notSupportSimdMtSupport = document.getElementById('simdMtNotSupport');
|
||||
|
||||
|
||||
if (supportSimdMtSupport) {
|
||||
if (supportSharedArrayBuffer()) {
|
||||
supportSimdMtSupport.style.display = 'inline-block';
|
||||
} else {
|
||||
notSupportSimdMtSupport.style.display = 'inline-block';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function isMobile() {
|
||||
return (/iphone|ipad|android.*mobile|windows.*phone|blackberry.*mobile/i.test(window.navigator.userAgent.toLowerCase()));
|
||||
}
|
||||
|
||||
function isPad() {
|
||||
return (/ipad|android(?!.*mobile)|tablet|kindle|silk/i.test(window.navigator.userAgent.toLowerCase()));
|
||||
}
|
||||
|
||||
const useVconsole = isMobile() || isPad()
|
||||
|
||||
if (useVconsole && window.VConsole) {
|
||||
new window.VConsole();
|
||||
}
|
||||
Reference in New Issue
Block a user