开发
API

调起视频发布器

本文主要是通过代码示例来说明如何调起视频发布器。

申请拍抖音

拍抖音功能需要达到一定信用评级后方可申请开通权限,申请路径为「开发者平台 - 设置 - 信用评级 - 质量评级」:

通过页面内按钮调起视频发布器

<button open-type="share" data-channel="video">拍视频</button>

通过 ShareParam 调起视频发布器

如果用户点击了菜单中的分享按钮,可以在Page.onShareAppMessage返回 ShareParam 时设置 channel 为 video。

Page({
  onShareAppMessage(shareOption) {
    console.log(shareOption);
    return {
      channel: "video",
      success: () => {
        console.log("分享成功");
      },
    };
  },
});

如果 ShareOption 的 channel 属性不为空,则不支持设置 ShareParam 的 channel 。

设置视频话题

如果想在视频分享时加上一些话题,可以通过 ShareParamextra 参数的 hashtag_list 字段设置:

Page({
  onShareAppMessage() {
    return {
      channel: "video",
      extra: {
        hashtag_list: ["custom tag 1", "custom tag 2"],
      },
    };
  },
});

只有拍抖音支持话题设置功能。

设置拍抖音锚点文字

抖音转发出去的视频锚点文字可以通过 title 字段设置:

Page({
  onShareAppMessage() {
    return {
      title: "my title",
      channel: "video",
      extra: {
        hashtag_list: ["custom tag 1", "custom tag 2"],
      },
    };
  },
});

如果不设置 title,则锚点文字默认为 “查看详情”。

获取视频封面图

如果将 extra 参数的 withVideoId 字段设置为 true ,可以获得 videoId, 然后通过获取视频信息接口获取视频封面图。

Page({
  onShareAppMessage() {
    return {
      extra: {
        withVideoId: true,
      },
      success: (res) => {
        getVideoInfo(res.videoId);
      },
    };
  },
});

function getVideoInfo(id) {
  tt.request({
    url: "https://gate.snssdk.com/developer/api/get_video_info",
    method: "POST",
    data: {
      alias_ids: [id],
    },
    success: (res) => {
      if (res.data.data[0].video_info.cover_url) {
        console.log(res.data.data[0].video_info); // 包含 cover_url,还有其它字段
      } else {
        setTimeout(() => {
          getVideoInfo(id);
        }, 5000);
      }
    },
  });
}

当完成拍视频得到 videoId 后如果立即获取视频信息,因为服务端延迟一般是获取不到的,建议先将 videoId 存到服务端,稍后根据业务需要再调用接口获取视频信息;或者通过轮询的方式来获取。

视频分享成功后跳转到视频播放页

获得 videoId 后,可用于 tt.navigateToVideoView 方法,跳转到视频播放页。

tt.navigateToVideoView({
  videoId: res.videoId,
  fail: (res) => {
    console.log(res);
    // 可根据 res.errCode 处理失败case
  },
});

当完成拍视频得到 videoId 后如果立即跳转播放页,因为服务端有延迟,一般是会失败的,建议先将 videoId 存到服务端,稍后再根据业务需要跳转播放页面。

点击纠错
评价此篇文档