会议

更新时间: 2023-01-09 19:11:39

本文介绍使用演示文档时如何获取页码、保存文件和开启自动播放等。

重要

JS-SDK V1.1.15及以上版本支持该功能。

标注

打开标注工具栏

  • 语法

    表达式.ActivePresentation.SlideShowWindow.View.MarkerEditVisible

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取窗口对象
      const SlideShowWindow = await app.ActivePresentation.SlideShowWindow;
    
      //获取视图对象
      const view = await SlideShowWindow.View;
    
      //打开标注工具栏
      view.MarkerEditVisible = true;
    
      setTimeout(() => {
        //3000 ms后关闭标注工具栏
        view.MarkerEditVisible = false;
      }, 3000)
    
    }

显示标注内容

  • 语法

    表达式.ActivePresentation.SlideShowWindow.View.PointerVisible

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取窗口对象
      const SlideShowWindow = await app.ActivePresentation.SlideShowWindow;
    
      //获取视图对象
      const view = await SlideShowWindow.View;
    
      //监听标注内容是否显示事件
      app.Sub.SlideInkVisible = async (e) => {
        const { Data } = e;
        console.log(Data.showmark);
        
        setTimeout(() => {
          //3000 ms后设置标注内容的显示隐藏
          view.PointerVisible = !Data.showmark;
        }, 3000)
        
    
      }
    
    }

监听显示标注事件

  • 语法

    表达式.Sub.SlideInkVisible = eventHandle

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
    
      //获取窗口对象
      const SlideShowWindow = await app.ActivePresentation.SlideShowWindow;
    
      //获取视图对象
      const view = await SlideShowWindow.View
      
      //监听是否显示标注内容
      app.Sub.SlideInkVisible = ({Data}) => {
        console.log('监听是否显示标注内容:', Data);
    
        if(Data.showmark){
          setTimeout(() => {
            view.PointerVisible = false;
          }, 2000)
          
        }
      };
    }

播放

播放幻灯片

  • 语法

    表达式.ActivePresentation.SlideShowWindow.View.Play(slideIndex, animateIndex)

    表达式:文档类型应用对象

  • 参数

    属性

    数据类型

    描述

    slideIndex

    Number

    当前幻灯片的下标。

    animateIndex

    Number

    当前幻灯片动画的下标。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取Slide设置对象
      const SlideShowSettings = await app.ActivePresentation.SlideShowSettings;
      //进入幻灯片播放模式
      await SlideShowSettings.Run();
    
      //获取窗口对象
      const SlideShowWindow = await app.ActivePresentation.SlideShowWindow;
    
      //获取视图对象
      const view = await SlideShowWindow.View;
    
      //从第一张幻灯片的第一个动画开始播放
      await view.Play(1, 1);
    }

跳转幻灯片动画

  • 语法

    表达式.ActivePresentation.SlideShowWindow.View.GotoClick(number)

    表达式:文档类型应用对象

  • 参数

    属性

    数据类型

    描述

    number

    Number

    当前幻灯片动画的下标。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取Slide设置对象
      const SlideShowSettings = await app.ActivePresentation.SlideShowSettings;
      //进入幻灯片播放模式
      await SlideShowSettings.Run();
    
      //获取窗口对象
      const SlideShowWindow = await app.ActivePresentation.SlideShowWindow;
    
      //获取视图对象
      const view = await SlideShowWindow.View;
    
      //执行跳转幻灯片第二个动画
      await view.GotoClick(2);
    }

禁止翻页

  • 语法

    表达式.ActivePresentation.SlideShowWindow.View.IsBanSlideChange

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取窗口对象
      const SlideShowWindow = await app.ActivePresentation.SlideShowWindow;
    
      //获取视图对象
      const view = await SlideShowWindow.View;
    
      //禁止翻页
      view.IsBanSlideChange = true;
    
      setTimeout(() => {
        //3000 ms后允许翻页
        view.IsBanSlideChange = false;
      }, 3000)
    
    
    }

停止自动翻页

  • 语法

    表达式.ActivePresentation.SlideShowWindow.View.StopAutoPlay()

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application; 
      
      //获取Slide设置对象
      const SlideShowSettings = await app.ActivePresentation.SlideShowSettings;
    
      //进入幻灯片播放模式
      await SlideShowSettings.Run();
    
      //关闭自动播放
      await SlideShowSettings.StopAutoPlay();
    }

预览模式

  • 语法

    表达式.ActivePresentation.SlideShowWindow.View.CoreReadonly

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取窗口对象
      const SlideShowWindow = await app.ActivePresentation.SlideShowWindow;
    
      //获取视图对象
      const view = await SlideShowWindow.View;
    
      view.CoreReadonly = true;
    
    }

设置全屏

  • 语法

    表达式.ActivePresentation.SlideShowWindow.IsFullScreen

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取窗口对象
      const SlideShowWindow = await app.ActivePresentation.SlideShowWindow;
    
      //设置全屏
      SlideShowWindow.IsFullScreen = true;
    
      setTimeout(() => {
        //3000 ms后退出全屏
        SlideShowWindow.IsFullScreen = false;
      }, 3000)
    
    
    }

监听播放状态

  • 语法

    表达式.Sub.SlidePlayerChange = eventHandle

    表达式:文档类型应用对象

  • 示例

    //@file=base.ppt
    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //监听播放状态改变
      app.Sub.SlidePlayerChange = ({Data}) => {
        console.log('监听 播放状态改变:', Data);
      };
    }

监听视频播放状态

  • 语法

    表达式.Sub.SlideMediaChanged = eventHandle

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //监听视频播放状态改变
      app.Sub.SlideMediaChanged = ({Data}) => {
        console.log('监听视频播放状态改变:', Data);
      };
    }

观众同步视频播放信息

  • 语法

    表达式.ActivePresentation.SlideShowWindow.View.SetMediaObj(Data)

    表达式:文档类型应用对象

  • 参数

    属性

    数据类型

    描述

    Data

    Object

    视频播放信息。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
    
      //获取窗口对象
      const SlideShowWindow = await app.ActivePresentation.SlideShowWindow;
    
      //获取视图对象
      const view = await SlideShowWindow.View;
      
      //设置视频播放改变监听事件
      app.Sub.SlideMediaChanged = async (e) => {
        const { Data } = e;
        console.log(Data);
    
        //同步视频播放信息
        await view.SetMediaObj(Data);
      }
     
    }

设置销毁视频播放工具(移动端)

  • 语法

    表达式.ActivePresentation.SlideShowWindow.View.DestroyMediaPlayer()

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
    
      //获取窗口对象
      const SlideShowWindow = await app.ActivePresentation.SlideShowWindow;
    
      //获取视图对象
      const view = await SlideShowWindow.View;
      
      //设置视频播放改变监听事件
      app.Sub.SlideMediaChanged = async (e) => {
        const { Data } = e;
        console.log(Data);
        setTimeout(async () => {
          //3000 ms后销毁视频播放工具
          await view.DestroyMediaPlayer(Data);
        }, 3000); 
      }
    }

激光笔

同步激光笔信息

  • 语法

    表达式.ActivePresentation.SlideShowWindow.View.SetLaserPenData(Data)

    表达式:文档类型应用对象

  • 参数

    属性

    数据类型

    描述

    Data

    Object

    激光笔信息。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
    
      //获取窗口对象
      const SlideShowWindow = await app.ActivePresentation.SlideShowWindow;
    
      //获取视图对象
      const view = await SlideShowWindow.View;
      
      //设置发送激光笔的墨迹监听事件
      app.Sub.SlideLaserPenInkPointsChanged = async (e) => {
        const { Data } = e;
        console.log(Data);
    
        //同步激光笔信息
        await view.SetLaserPenData(Data);
      }
     
    }

监听发送激光笔的墨迹

  • 语法

    表达式.Sub.SlideLaserPenInkPointsChanged = eventHandle

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //监听发送激光笔的墨迹
      app.Sub.SlideLaserPenInkPointsChanged = ({Data}) => {
        console.log('监听发送激光笔的墨迹:', Data);
      };
    }

监听是否使用激光笔和标注

  • 语法

    表达式.Sub.SlideInkToolbarVisible = eventHandle

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
    
      //获取窗口对象
      const SlideShowWindow = await app.ActivePresentation.SlideShowWindow;
    
      //获取视图对象
      const view = await SlideShowWindow.View
      
      //监听是否使用激光笔和标注
      app.Sub.SlideInkToolbarVisible = ({Data}) => {
        console.log('监听是否使用激光笔和标注:', Data);
    
      };
    
      //设置标记工具栏出现
      view.MarkerEditVisible = true;
    }

设置指定工具栏是否隐藏

  • 语法

    表达式.ActivePresentation.SlideShowWindow.View.SetToolVisible(toolName, flag)

    表达式:文档类型应用对象

  • 参数

    属性

    数据类型

    描述

    toolName

    String

    需要操作的tool的名称。

    flag

    Boolean

    是否隐藏指定的tool。取值范围如下:

    • false:隐藏。

    • true:显示。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取Slide设置对象
      const SlideShowSettings = await app.ActivePresentation.SlideShowSettings;
      //进入幻灯片播放模式
      await SlideShowSettings.Run();
    
      //获取窗口对象
      const SlideShowWindow = await app.ActivePresentation.SlideShowWindow;
    
      //获取视图对象
      const view = await SlideShowWindow.View;
    
      const linkTip = app.Enum.PpToolType.pcPlayHoverLink //hover超链接
      const imageTip = app.Enum.PpToolType.pcImageHoverTip //hover图片
      const menu = app.Enum.PpToolType.pcPlayingMenu //右键菜单 
    
      //2000 ms后设置隐藏
      setTimeout(() => {
        //设置进入播放模式后隐藏指定的tool
        view.SetToolVisible(linkTip, false);
        view.SetToolVisible(imageTip, false);
        view.SetToolVisible(menu, false);
      }, 2000)
    }
阿里云首页 智能媒体管理 相关技术圈