抖音开放平台Logo
开发者文档
“/”唤起搜索
控制台
  • API 概览
  • C# API
  • 开放接口
  • 收藏
  • 群聊
  • 关注
  • 数据分析
  • 基础
  • 渲染
  • 设备
  • 文件
  • 位置
  • 媒体
  • 图片
  • 音频
  • 录屏
  • 麦克风
  • 实时语音
  • 相机
  • 录音
  • 视频
  • tt.chooseVideo
  • tt.createVideo
  • tt.createOffscreenVideo
  • tt.saveVideoToPhotosAlbum
  • tt.mergeVideo
  • Video
  • AI
  • 网络
  • 转发
  • 数据缓存
  • 广告
  • 界面
  • 支付
  • Worker
  • Video
    收藏
    我的收藏

    Video 是描述视频资源的对象。离屏 Video 对象可以通过接口 tt.createOffscreenVideo 创建,上屏 Video 对象可通过接口 tt.createVideo 创建。可以通过设置该对象上的属性、调用该对象上的方法来控制视频。

    实例属性

    属性
    类型
    默认值
    说明
    src
    string
    空字符串
    视频资源地址
    volume
    number
    1
    播放音量 (值范围为 0 ~ 1)
    muted
    bool
    false
    是否静音(true 为静音)
    loop
    bool
    false
    是否循环播放(true 为循环播放)
    autoplay
    bool
    false
    是否自动播放(true 为自动播放)
    width
    number
    0
    期望视频宽度(单位:像素)
    height
    number
    0
    期望视频高度(单位:像素)
    currentTime
    number
    0
    视频当前播放到的时长(单位:s)
    duration
    number
    readonly
    视频总时长(单位:s)

    方法

    Video.play()

    播放视频。

    Video.pause()

    暂停视频。

    Video.stop()

    停止视频。

    Video.seek(number time)

    跳转到视频指定位置。
    属性名
    类型
    取值
    time
    number
    单位:秒,超出视频总时长则视频停止在当前帧,小于 0 无效

    Video.destroy()

    销毁视频。

    Video.paintTo(canvas, dx, dy, sx, sy, sw, sh)

    将当前视频内容绘制到指定 canvas。
    参数
    类型
    说明
    canvas
    object
    作为绘制目标的 canvas 对象
    dx
    number
    绘制目标的 x 坐标偏移(单位:像素)
    dy
    number
    绘制目标的 y 坐标偏移(单位:像素)
    sx
    number
    绘制源的 x 坐标偏移(单位:像素)
    sy
    number
    绘制源的 y 坐标偏移(单位:像素)
    sw
    number
    绘制源的宽度(单位:像素)
    sh
    number
    绘制源的高度(单位:像素)
    说明:
    蓝色区域:代表整个 canvas 的大小,一般是整个游戏的渲染区域。
    深绿色区域(标注 sx,sy 部分):代表视频本身的内容区域。
    浅绿色区域(标注 sw,sh 部分):代表视频最终渲染到 Canvas 上的内容。

    Video.onCanplay(function callback(scale))

    监听视频进入可以播放的事件,回调函数的参数 scale 为 video 对象的宽度和高度之比。
    属性名
    类型
    取值
    scale
    number
    video.videoWidth / video.videoHeight

    Video.onCandraw(function callback(scale))

    基础库版本 1.9.6 开始支持。
    监听视频首帧事件,回调函数的参数 scale 为 video 对象的宽度和高度之比。
    属性名
    类型
    取值
    scale
    number
    video.videoWidth / video.videoHeight

    Video.onPlay(function callback)

    监听播放视频事件。

    Video.onPause(function callback)

    监听暂停视频事件。

    Video.onStop(function callback)

    监听停止播放视频事件。

    Video.onEnded(function callback)

    监听视频自然播放至结束的事件。

    Video.onError(function callback(errorMessage))

    监听视频播放错误事件,回调函数的参数为错误信息文本。
    属性名
    类型
    取值
    errorMessage
    string

    Video.onTimeUpdate(function callback(object))

    监听视频跳转事件,回调函数的参数为 Object 类型,具体字段如下:
    属性名
    类型
    取值
    position
    number
    视频当前播放到的时长(单位:s)
    duration
    number
    视频总时长(单位:s)

    Video.offCanplay(function callback)

    取消监听视频可以播放事件。

    Video.offPlay(function callback)

    取消监听视频播放事件。

    Video.offPause(function callback)

    取消监听视频暂停事件。

    Video.offStop(function callback)

    取消监听视频停止事件。

    Video.offEnded(function callback)

    取消监听视频自然播放至结束事件。

    Video.offError(function callback)

    取消监听播放视频错误事件。

    Bug & Tip

      Tip: 取消监听事件的传入参数为对应监听函数的参数,才能取消对应的监听函数。
      Tip: 为了方便开发者理解,Video 是参照 HTML5 Video 对象实现的。
      Bug: 开发者通过 onCanplay 事件监听视频开始播放的事件进行视频内容渲染时,在部分机型上会出现首帧黑屏的情况。针对这种情况,建议开发者监听 onCandraw 事件,通过此事件能够保证绘制出来的首帧不会出现黑屏。