mirror of
https://github.com/bolucat/Archive.git
synced 2026-04-22 16:07:49 +08:00
2 lines
5.1 KiB
JavaScript
2 lines
5.1 KiB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["live/front-back-volume"]=t():e["live/front-back-volume"]=t()}(globalThis,(()=>(()=>{var e,t,o={843:e=>{function t(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=843,e.exports=t},24:e=>{"use strict";e.exports="# 使用说明\n\n\x3c!-- (http://localhost:23333/registry/dist/components/live/front-back-volume.js) --\x3e\n\n1. 分别设定前台/后台音量\n2. 当你切换到其他标签页或最小化窗口时,播放器会自动改用“后台音量”\n3. 若未生效,请先点击一下直播页面再试。\n4. 手动调音量不受影响\n"}},n={};function r(e){var t=n[e];if(void 0!==t)return t.exports;var i=n[e]={exports:{}};return o[e](i,i.exports,r),i.exports}t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(o,n){if(1&n&&(o=this(o)),8&n)return o;if("object"==typeof o&&o){if(4&n&&o.__esModule)return o;if(16&n&&"function"==typeof o.then)return o}var i=Object.create(null);r.r(i);var l={};e=e||[null,t({}),t([]),t(t)];for(var a=2&n&&o;"object"==typeof a&&!~e.indexOf(a);a=t(a))Object.getOwnPropertyNames(a).forEach((e=>l[e]=()=>o[e]));return l.default=()=>o,r.d(i,l),i},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return(()=>{"use strict";r.d(i,{component:()=>h});const e=coreApis.componentApis.define,t=coreApis.utils.urls,o=coreApis.spinQuery,n=coreApis.utils,l=coreApis.settings,a=(0,e.defineOptionsMetadata)({foregroundVolume:{displayName:"前台音量",defaultValue:10,validator:e=>{const t=Math.round(e);return t>=0&&t<=100?t:10}},backgroundVolume:{displayName:"后台音量",defaultValue:3,validator:e=>{const t=Math.round(e);return t>=0&&t<=100?t:3}},enableLogging:{displayName:"启用日志输出",defaultValue:!0}});let s=null,u=!1,d=.1,c=.03,m=null,f=null,p=null,v=null;const b=()=>{let e=location.href.match(/live.bilibili.com\/(\d+)/);return e?e[1]:(e=location.href.match(/live.bilibili.com\/blanc\/(\d+)/),e?e[1]:"")},y=e=>{if(!s)return;const t="visible"===document.visibilityState&&document.hasFocus(),o=t?d:c,n=b();s.volume=Math.max(0,Math.min(1,o)),e&&console.log(`[前后台音量调节] 房间号: ${n} - 音量已设置为: ${t?"前台":"后台"} ${Math.round(100*o)}%`)},g=async e=>{try{s=await(async()=>{try{const e=await(0,o.select)("video");return e&&e.readyState>0?e:null}catch{return null}})();const t=b();return s?(y(e),u||(m=()=>{s&&y(e)},f=()=>y(e),p=()=>y(e),v=()=>y(e),s.addEventListener("loadedmetadata",m),document.addEventListener("visibilitychange",f),window.addEventListener("focus",p),window.addEventListener("blur",v),u=!0,e&&console.log(`[前后台音量调节] 房间号: ${t} - B站直播音量自动调节器已激活`)),Promise.resolve()):(e&&console.log(`[前后台音量调节] 房间号: ${t} - 未找到视频元素,10秒后重试...`),await(0,n.delay)(1e4),g(e))}catch(t){const o=b();return e&&console.error(`[前后台音量调节] 房间号: ${o} - 设置音量控制时出错:`,t),Promise.resolve()}},h=(0,e.defineComponentMetadata)({name:"frontBackVolume",displayName:"直播前后台音量自动调节",description:"自动调节B站直播音量,前台和后台使用不同音量",author:{name:"KDH-KDHKDH",link:"https://github.com/KDH-KDHKDH"},tags:[componentsTags.live],urlInclude:t.liveUrls,entry:async e=>{let{settings:t,metadata:o}=e;const{foregroundVolume:r,backgroundVolume:i,enableLogging:a}=t.options;d=r/100,c=i/100,(0,l.addComponentListener)(`${o.name}.foregroundVolume`,(e=>{d=e/100,y(a)})),(0,l.addComponentListener)(`${o.name}.backgroundVolume`,(e=>{c=e/100,y(a)}));new MutationObserver((()=>{s&&document.contains(s)||g(a)})).observe(document.body,{childList:!0,subtree:!0}),await(0,n.delay)(2e3),await g(a)},options:a,reload:async()=>{const e=(0,l.getComponentSettings)("frontBackVolume");s&&m&&s.removeEventListener("loadedmetadata",m),f&&document.removeEventListener("visibilitychange",f),p&&window.removeEventListener("focus",p),v&&window.removeEventListener("blur",v),u=!1,s=null,m=null,f=null,p=null,v=null,d=e.options.foregroundVolume/100,c=e.options.backgroundVolume/100,await g(e.options.enableLogging)},unload:()=>{s&&m&&s.removeEventListener("loadedmetadata",m),f&&document.removeEventListener("visibilitychange",f),p&&window.removeEventListener("focus",p),v&&window.removeEventListener("blur",v),u=!1,s=null,m=null,f=null,p=null,v=null,d=.1,c=.03},commitHash:"d87d69cfb9d7e0124bd90a06fec4569bd61e02c5",coreVersion:"2.10.7",description:(()=>{const e=r(843);return{...Object.fromEntries(e.keys().map((t=>[t.match(/index\.(.+)\.md$/)[1],e(t)]))),"zh-CN":()=>Promise.resolve().then(r.t.bind(r,24,17)).then((e=>e.default))}})()})})(),i=i.component})()));
|
|
//# sourceMappingURL=https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/registry/dist/components/live/front-back-volume.js.map
|