73 lines
2.1 KiB
Vue
73 lines
2.1 KiB
Vue
<template>
|
||
<view class="container">
|
||
|
||
<div id="url-player-test"></div>
|
||
</view>
|
||
</template>
|
||
<script>
|
||
export default {
|
||
mounted() {
|
||
// 在适合的生命周期,通过script和link标签引入播放器sdk、css
|
||
this.loadWebPlayerSDK().then(() => {
|
||
// 如果需要使用自定义组件,打开以下注释
|
||
// this.loadComponent().then(() => {
|
||
let player = new Aliplayer({
|
||
id: "url-player-test",
|
||
source: "//player.alicdn.com/video/aliyunmedia.mp4",
|
||
width: "100%",
|
||
height: "100%",
|
||
}, function (player) {
|
||
});
|
||
player.one('canplay', function () {
|
||
console.log('canplay', player.tag);
|
||
player.tag.play();
|
||
});
|
||
// }).catch((e) => { console.log("加载组件失败", e) })
|
||
}).catch((e) => {
|
||
console.log("加载播放器SDK失败", e);
|
||
});
|
||
},
|
||
data() {
|
||
return {}
|
||
},
|
||
methods: {
|
||
loadWebPlayerSDK() {
|
||
return new Promise((resolve, reject) => {
|
||
const s_tag = document.createElement('script'); // 引入播放器js
|
||
s_tag.type = 'text/javascript';
|
||
s_tag.src = 'https://g.alicdn.com/apsara-media-box/imp-web-player/2.20.3/aliplayer-min.js';
|
||
s_tag.charset = 'utf-8';
|
||
s_tag.onload = () => {
|
||
resolve();
|
||
}
|
||
document.body.appendChild(s_tag);
|
||
const l_tag = document.createElement('link'); // 引入播放器css
|
||
l_tag.rel = 'stylesheet';
|
||
l_tag.href = 'https://g.alicdn.com/apsara-media-box/imp-web-player/2.20.3/skins/default/aliplayer-min.css';
|
||
document.body.appendChild(l_tag);
|
||
});
|
||
},
|
||
loadComponent() {
|
||
return new Promise((resolve, reject) => {
|
||
const s_tag = document.createElement('script');
|
||
s_tag.type = 'text/javascript';
|
||
// 需要先下载组件 js 文件,放到项目 /static/ 目录下
|
||
// 下载地址:https://github.com/aliyunvideo/AliyunPlayer_Web/blob/master/customComponents/dist/aliplayer-components/aliplayercomponents-1.0.9.min.js
|
||
s_tag.src = './static/aliplayercomponents-1.0.9.min.js';
|
||
s_tag.charset = 'utf-8';
|
||
s_tag.onload = () => {
|
||
resolve();
|
||
}
|
||
document.body.appendChild(s_tag);
|
||
});
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
<style>
|
||
.container {
|
||
padding: 20px;
|
||
font-size: 14px;
|
||
height: 800px;
|
||
}
|
||
</style> |