在线体验及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

Web 播放器依赖浏览器相关 API,如果您要将 uni-app 项目编译成原生 app,可以考虑开启 renderjs 模式,开启前请仔细阅读 uni-app 关于 renderjs 的说明,并关注此模式对您项目的整体影响:https://zh.uniapp.dcloud.io/tutorial/renderjs.html

展开查看代码

<template>
    <view class="content">
        <view id="player"></view>
    </view>
</template>
<!-- 如果要编译到 app 平台,开启 renderjs 模式 -->
<!-- <script module="player" lang="renderjs"> -->
<script>
 import Aliplayer from 'aliyun-aliplayer';
 import "aliyun-aliplayer/build/skins/default/aliplayer-min.css";
 export default {
      data() {
         return {}
      },
      mounted() {
         this.player = this.createPlayer();
      },
      methods: {
        createPlayer: () => {
          return new Aliplayer({
               id: 'player',
               source: 'https://player.alicdn.com/video/aliyunmedia.mp4',
               width: '800px',
               autoSize: true,
          });
      },
         // 如果需要引入组件,请先加载 await loadComponent() 再初始化播放器
     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.1.2.min.js
               s_tag.src = './static/aliplayercomponents-1.1.2.min.js';
               s_tag.charset = 'utf-8';
               s_tag.onload = () => {
                   resolve();
               }
                document.body.appendChild(s_tag);
          });
        }
     }
}
</script>
<style>
 .content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
 }
</style>