vue-aliplayer-v2/lib/vue-aliplayer-v2.umd.cjs
2026-05-23 22:05:52 +08:00

1 line
8.1 KiB
JavaScript

(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("vue")):typeof define==`function`&&define.amd?define([`exports`,`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.VueAliplayerV2={},e.Vue))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var n=`2.37.0`,r=`https://g.alicdn.com/apsara-media-box/imp-web-player/${n}/skins/default/aliplayer-min.css`,i=`https://g.alicdn.com/apsara-media-box/imp-web-player/${n}/aliplayer-min.js`,a=new Map;function o(e){return`https://g.alicdn.com/apsara-media-box/imp-web-player/${e}/skins/default/aliplayer-min.css`}function s(e){return`https://g.alicdn.com/apsara-media-box/imp-web-player/${e}/aliplayer-min.js`}function c(e){if(!e||document.querySelector(`link[data-vue-aliplayer-v2-css="${e}"]`))return;let t=document.createElement(`link`);t.type=`text/css`,t.rel=`stylesheet`,t.href=e,t.dataset.vueAliplayerV2Css=e,document.head.appendChild(t)}function l(e,t){if(!e||t&&window[t])return Promise.resolve();if(a.has(e))return a.get(e);let n=document.querySelector(`script[data-vue-aliplayer-v2-js="${e}"]`);if(n){let t=new Promise((t,r)=>{if(n.dataset.vueAliplayerV2Loaded===`true`){t();return}n.addEventListener(`load`,()=>{n.dataset.vueAliplayerV2Loaded=`true`,t()},{once:!0}),n.addEventListener(`error`,()=>r(Error(`Failed to load Aliplayer SDK: ${e}`)),{once:!0})});return a.set(e,t),t}let r=new Promise((t,n)=>{let r=document.createElement(`script`);r.type=`text/javascript`,r.src=e,r.dataset.vueAliplayerV2Js=e,r.addEventListener(`load`,()=>{r.dataset.vueAliplayerV2Loaded=`true`,t()},{once:!0}),r.addEventListener(`error`,()=>n(Error(`Failed to load Aliplayer SDK: ${e}`)),{once:!0}),document.documentElement.appendChild(r)});return a.set(e,r),r}async function u(e,t){c(e),await l(t,`Aliplayer`)}async function d(e=[]){for(let t of e)await l(t)}var f=[`m3u8`,`flv`,`mp4`,`rtmp`,`mp3`];function p(e){if(!e)return null;if(/^rtmps?:\/\//i.test(e))return`rtmp`;let t=e.split(`?`)[0].split(`#`)[0].toLowerCase();return f.find(e=>e&&t.endsWith(`.${e}`))||null}function m(e){if(!e)return e||null;if(/^(data|blob):/i.test(e))return e;try{return encodeURI(e)}catch{return e}}var h=[`videocloud.cn-hangzhou.log.aliyuncs.com/logstores/newplayer/track`],g=!1;function _(e,t){return t.some(t=>typeof t==`string`?e.includes(t):t.test(e))}function v(e=h){if(g)return;g=!0;let t=window.fetch?.bind(window);t&&(window.fetch=((n,r)=>_(typeof n==`string`||n instanceof URL?String(n):n.url,e)?Promise.resolve(new Response(null,{status:204,statusText:`No Content`})):t(n,r)));let n=XMLHttpRequest.prototype.open,r=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.open=function(t,r,i,a,o){this.__vueAliplayerV2Blocked=_(String(r),e),n.call(this,t,r,i??!0,a??void 0,o??void 0)},XMLHttpRequest.prototype.send=function(e){this.__vueAliplayerV2Blocked||r.call(this,e)}}var y=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})((0,t.defineComponent)({name:`VueAliplayerV2`,__name:`index`,props:{autoFormat:{type:Boolean,default:!0},forbidFastForward:{type:Boolean,default:!1},license:{default:null},lowLatency:{type:Boolean,default:!1},normalizeSourceUrl:{type:Boolean,default:!0},options:{default:null},source:{default:null},sdkVersion:{default:n},cssLink:{default:``},scriptSrc:{default:``},componentScripts:{default:()=>[]},disableTracking:{type:Boolean,default:!1},trackingUrlPatterns:{default:()=>[]}},emits:[`ready`,`play`,`pause`,`canplay`,`playing`,`ended`,`liveStreamStop`,`onM3u8Retry`,`hideBar`,`showBar`,`waiting`,`timeupdate`,`snapshoted`,`requestFullScreen`,`cancelFullScreen`,`error`,`startSeek`,`completeSeek`,`sdk-error`],setup(e,{expose:n,emit:a}){let c=e,l=a,f=(0,t.ref)(null),h=(0,t.ref)(null),g=(0,t.ref)(!1),_=(0,t.ref)(null),y=0,b=`player-${Math.random().toString(36).slice(2).toUpperCase()}`,x=[`ready`,`play`,`pause`,`canplay`,`playing`,`ended`,`liveStreamStop`,`onM3u8Retry`,`hideBar`,`showBar`,`waiting`,`timeupdate`,`snapshoted`,`requestFullScreen`,`cancelFullScreen`,`error`,`startSeek`,`completeSeek`],S=(0,t.computed)(()=>c.cssLink||(c.sdkVersion?o(c.sdkVersion):r)),C=(0,t.computed)(()=>c.scriptSrc||(c.sdkVersion?s(c.sdkVersion):i)),w=(0,t.computed)(()=>c.normalizeSourceUrl?m(c.source):c.source),T=(0,t.computed)(()=>p(w.value)),E=(0,t.computed)(()=>{let e={width:`100%`,autoplay:!0,...c.options||{},...c.license?{license:c.license}:{},...w.value?{source:w.value}:{},id:b};return c.autoFormat&&T.value&&!e.format&&(e.format=T.value),c.lowLatency&&e.isLive&&T.value===`flv`&&(e.enableStashBufferForFlv=e.enableStashBufferForFlv??!1,e.stashInitialSizeForFlv=e.stashInitialSizeForFlv??128),e});function D(){return f.value}function O(){f.value&&(f.value.dispose(),f.value=null,_.value=null)}function k(e){x.forEach(t=>{e.on(t,e=>{l(t,e)})})}function A(e){if(!c.forbidFastForward)return;let t=0,n=0;e.on(`timeupdate`,()=>{let r=e.getCurrentTime();if(r-t>2){e.seek(t);return}t=r,t>=n&&(n=t)})}function j(){if(g.value||!window.Aliplayer||!h.value)return;O();let e=window.Aliplayer({...E.value});f.value=e,_.value=T.value,k(e),A(e)}async function M(){let e=++y;try{if(c.disableTracking&&v(c.trackingUrlPatterns.length?c.trackingUrlPatterns:void 0),await u(S.value,C.value),await d(c.componentScripts),await(0,t.nextTick)(),g.value||e!==y)return;j()}catch(e){l(`sdk-error`,e instanceof Error?e:Error(String(e)))}}async function N(e){if(e&&f.value){f.value.loadByUrl(c.normalizeSourceUrl&&m(e)||e);return}await M()}async function P(e){await N(e)}function F(){f.value?.play()}function I(){f.value?.pause()}function L(){f.value?.replay()}function R(e){f.value?.seek(e)}function z(){return f.value?.getCurrentTime()}function B(){return f.value?.getDuration()}function ee(){return f.value?.getVolume()}function V(e){f.value?.setVolume(e)}function H(e,t){f.value?.loadByUrl(e,t)}function U(e,t){f.value?.replayByVidAndPlayAuth(e,t)}function W(e,t,n,r,i,a){f.value?.replayByVidAndAuthInfo(e,t,n,r,i,a)}function G(e,t){f.value?.setPlayerSize(e,t)}function K(e){f.value?.setSpeed(e)}function q(e,t,n){f.value?.setSanpshotProperties(e,t,n)}function J(){f.value?.fullscreenService?.requestFullScreen()}function Y(){f.value?.fullscreenService?.cancelFullScreen()}function X(){return f.value?.fullscreenService?.getIsFullScreen()}function Z(){return f.value?.getStatus()}function Q(e,t){f.value?.liveShiftSerivce?.setLiveTimeRange(e,t)}function $(e){f.value?.setRotate(e)}function te(){return f.value?.getRotate()}function ne(e){f.value?.setImage(e)}function re(e){f.value?.setCover(e)}function ie(e){f.value?.setProgressMarkers(e)}function ae(e){f.value?.setPreviewTime(e)}function oe(){return f.value?.getPreviewTime()}function se(){return f.value?.isPreview()}function ce(e,t){f.value?.off?.(e,t)}return(0,t.onMounted)(()=>{M()}),(0,t.watch)(()=>w.value,e=>{if(!e)return;let t=p(e);if(f.value&&t&&t===_.value){f.value.loadByUrl(e);return}M()}),(0,t.watch)(()=>[c.options,c.forbidFastForward,c.license,c.lowLatency,c.autoFormat,c.sdkVersion,c.cssLink,c.scriptSrc,c.componentScripts,c.disableTracking,c.trackingUrlPatterns],()=>{M()},{deep:!0}),(0,t.onBeforeUnmount)(()=>{g.value=!0,y+=1,O()}),n({getPlayer:D,init:M,initPlayer:j,reload:N,retry:P,play:F,pause:I,replay:L,seek:R,getCurrentTime:z,getDuration:B,getVolume:ee,setVolume:V,loadByUrl:H,replayByVidAndPlayAuth:U,replayByVidAndAuthInfo:W,setPlayerSize:G,setSpeed:K,setSanpshotProperties:q,requestFullScreen:J,cancelFullScreen:Y,getIsFullScreen:X,getStatus:Z,setLiveTimeRange:Q,setRotate:$,getRotate:te,setImage:ne,dispose:O,setCover:re,setProgressMarkers:ie,setPreviewTime:ae,getPreviewTime:oe,isPreview:se,off:ce}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{id:b,ref_key:`containerRef`,ref:h,class:`vue-aliplayer-v2`},null,512))}}),[[`__scopeId`,`data-v-eff69876`]]),b={sdkVersion:n,cssLink:r,scriptSrc:i,componentScripts:[],disableTracking:!1,trackingUrlPatterns:[]},x=y;x.install=(e,t)=>{Object.assign(b,t||{}),e.component(`VueAliplayerV2`,x)},x.props.cssLink.default=()=>b.cssLink,x.props.scriptSrc.default=()=>b.scriptSrc,x.props.sdkVersion.default=()=>b.sdkVersion,x.props.componentScripts.default=()=>b.componentScripts,x.props.disableTracking.default=()=>b.disableTracking,x.props.trackingUrlPatterns.default=()=>b.trackingUrlPatterns,x.Player=x,e.VueAliplayerV2=x,e.default=x});