在线体验及Demo源码

本文介绍基于阿里云Web播放器SDK的在线体验方式,并提供Demo源码。

桌面端Demo体验

Web播放器SDK提供可视化的在线体验。您可通过在线配置访问。在线配置提供基础的播放配置、样式配置,支持生成HTML5、Flash两套代码。

说明

H5模式下,当采用直播的地址播放方式时,播放地址仅支持FLV格式,不支持RTMP格式。

配置

移动端Demo体验

使用钉钉APP,扫描以下二维码体验Web播放器SDK移动端Demo。

重要

Android手机上微信、QQ等浏览器存在劫持播放器的情况下,有些功能会失效。

二维码

功能Demo源码

Web播放器提供在线功能展示,并在功能展示页面同步展现代码实现。详细的功能列表(基础功能、组件及高级功能)及示例代码,请参见功能展示功能展示

Vue Demo源码

提供基于Vue的播放器Demo源码,方便开发者使用。

Demo地址请参见阿里云播放器 Vue Demo

微信小程序

微信小程序缺少相关的DOM API和BOM API,这一区别导致了前端开发非常熟悉的一些库,例如 jQuery、Zepto等,在微信小程序里不能运行。 同理Web播放器SDK也是基于浏览器环境的,在微信小程序里不能运行,因此需要使用小程序自带的Video组件去播放视频,详情请参见视频点播微信小程序Demo

uni-app

uni-app基于vue2、vue3前端语法开发应用,提供多平台跨端兼容。但由于Web播放器SDK依赖浏览器原生WebAPI,因此对编译的平台有所限制,目前仅支Web端和app-vue的renderjs模式。

Web播放器SDK仅支持通过<script>标签方式引入。uni-app可以通过动态添加标签来引入,代码示例如下:

展开查看代码

<template>
  <view class="container">
    <p>VUE2 Demo</p>
    <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>