include "shared.lua" DEFINE_BASECLASS( "mp_service_browser" ) local JS_Pause = "if(window.MediaPlayer) MediaPlayer.pause();" local JS_Play = "if(window.MediaPlayer) MediaPlayer.play();" local JS_Volume = "if(window.MediaPlayer){MediaPlayer.volume=%s;MediaPlayer.muted=false;}" local JS_Seek = [[ if (window.MediaPlayer) { var seekTime = %s; var curTime = window.MediaPlayer.currentTime; var diffTime = Math.abs(curTime - seekTime); if (diffTime > 5) { window.MediaPlayer.currentTime = seekTime; } } ]] local JS_Interface = [[ (function () { function findVideo(win) { try { if (!win || !win.document) return null; var v = win.document.querySelector('video'); if (v) return v; var frames = win.document.getElementsByTagName('iframe'); for (var i = 0; i < frames.length; i++) { try { var child = frames[i].contentWindow; var vv = findVideo(child); if (vv) return vv; } catch (e) {} } } catch (e) {} return null; } var tries = 0; var checkerInterval = setInterval(function () { tries++; var player = findVideo(window); if (player) { clearInterval(checkerInterval); window.MediaPlayer = player; try { window.MediaPlayer.muted = false; } catch (e) {} try { if (window.MediaPlayer.paused) { var p = window.MediaPlayer.play(); if (p && p.catch) p.catch(function () {}); } } catch (e) {} return; } if (tries > 400) { clearInterval(checkerInterval); console.log('[MediaPlayer] Bilibili: failed to detect