Netless

Netless

  • 通用文档
  • 常见问题
  • JavaScript
  • Android
  • iOS
  • Server
  • GitHub
  • 🇬🇧 English

›初始化参数

接入准备

  • 前提条件
  • 开源项目
  • 快速调试
  • 版本历史

快速开始

  • 原生 JavaScript
  • React

进阶教程

  • 安装
  • 实时房间
  • 教具
  • PPT 与页面管理
  • 视角
  • 禁止操作
  • 自定义行为
  • 回放

初始化参数

  • SDK参数
  • 房间参数
  • 回放参数

功能介绍

  • 教具操作
  • 视角操作
  • 页面(场景)管理
  • 状态监听
  • 白板操作
  • 自定义事件
  • 鼠标位置同步
  • 文档转换
  • 回放功能
  • 大课只读
  • 撤回与重做
  • 集成白板插件

迁移与升级

  • 2.9.0 迁移指南
  • 2.8.0 迁移指南

回放参数

room与player实际上,都是内部displayer的子类。TypeScript签名中,以///Displayer.d.ts开头的方法签名,room和player均可使用。

我们将正在回放过去操作的房间,称为 回放房间(对应类为 player)。

初始化 API

TypeScript 方法签名

//WhiteWebSdk.d.ts
replayRoom(params: ReplayRoomParams, callbacks?: PlayerCallbacks): Promise<Player>;

示例代码

whiteWebSdk.replayRoom({
    room: "room",
    roomToken: "roomToken",
}, {
    onPhaseChanged: phase => {
        console.log(phase);
    },
    onLoadFirstFrame: () => {
        console.log("onLoadFirstFrame");
    },
    onPlayerStateChanged: modifyState => {
        console.log(modifyState);
    },
    onScheduleTimeChanged: scheduleTime => {
        console.log(scheduleTime);
    },
}).then(function(player) {
    window.player = player;
}).catch((e: Error) => {
    //初始化回放失败
    console.log(e);
});

ReplayRoomParams 参数说明

type ReplayRoomParams = {
    readonly slice?: string;
    readonly room?: string;
    readonly roomToken: string;
    readonly beginTimestamp?: number;
    readonly duration?: number;
    readonly mediaURL?: string;
    readonly cursorAdapter?: CursorAdapter;
    readonly cameraBound?: CameraBound;
}
参数描述备注
uuid回放房间的 uuid必填,且房间必须为可回放模式
slice回放房间 分片地址sdk 会根据beginTimestamp与duration参数,查找对应room中的数据,无需填写
roomToken房间鉴权 token必填
beginTimestamp开始回放的 Unix 时间戳(毫秒)可选,若不填,则从房间创建时开始回放
duration回放持续时长(毫秒)可选,若不填,则持续到最后一次用户全部退出的时间
mediaURL音视频地址(由sdk负责同步播放状态)可选,如果有,白板会统一播放进度和播放状态,白板或者媒体文件进入缓冲状态时,都会进行缓冲状态(PlayerPhase进入缓冲状态)

PlayerCallbacks 参数说明

type PlayerCallbacks = {
    readonly onHandToolActive?: (active: boolean) => void;
    readonly onPPTLoadProgress?: (uuid: string, progress: number) => void;
    readonly onPhaseChanged?: (phase: PlayerPhase) => void;
    readonly onLoadFirstFrame?: () => void;
    readonly onPlayerStateChanged?: (modifyState: Partial<PlayerState>) => void;
    readonly onStoppedWithError?: (error: Error) => void;
    readonly onScheduleTimeChanged?: (scheduleTime: number) => void;
}

onHandToolActive

抓手工具激活/取消回调

onPPTLoadProgress

  • TypeScript 签名
(uuid: string, progress: number) => void;
ppt 预加载缓存回调,uuid 为 ppt 转换时的 taskId,progress 为 0~1 之间的两位小数。

只有在初始化 SDK 时,preloadDynamicPPT,设置为 true 时,该回调才有用。

onPhaseChanged

export enum PlayerPhase {
    //初始化后,正在等待回放信息,此时无法做任何操作,无法获取 player.state 信息
    WaitingFirstFrame = "waitingFirstFrame",
    //正在播放
    Playing = "playing",
    //暂停
    Pause = "pause",
    //中止,无法再次播放,需要重新初始化新的实例
    Stopped = "stop",
    //播放完成
    Ended = "ended",
    //缓冲中
    Buffering = "buffering",
}
播放器状态变化回调

onLoadFirstFrame

首帧数据加载完成,房间状态由`WaitingFirstFrame`变为其他状态。

onPlayerStateChanged

房间状态发生改变时,会回调该 API。
该回调返回的`PlayerState`只包含发生变化的房间状态字段。

onStoppedWithError

出现错误,播放器中止播放。

onScheduleTimeChanged

时间进度回调

推荐阅读

  1. 状态监听
  2. 自定义事件-监听、注销
Last updated on 11/26/2019 by leavesster
← 房间参数教具操作 →
  • 初始化 API
    • TypeScript 方法签名
    • 示例代码
  • ReplayRoomParams 参数说明
  • PlayerCallbacks 参数说明
    • onHandToolActive
    • onPPTLoadProgress
    • onPhaseChanged
    • onLoadFirstFrame
    • onPlayerStateChanged
    • onStoppedWithError
    • onScheduleTimeChanged
  • 推荐阅读
Netless
接入即互动
产品
管理控制台官网网站Demo 体验Github
公司
加入我们服务条款隐私协议
联系方式
support@netless.link社区
Copyright © 2020 Netless