视频拍摄器
收藏
我的收藏

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

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

<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 后,可用于button(open-type=navigateToVideoView) 组件,跳转到视频播放页。​
<button open-type="navigateToVideoView" data-video-id="videoId" bindnavigatetovideoview="eventHandler" > 跳转视频播放页 </button>
Page({ data: { videoId: "13104110592cxxxxxxxxxxxxxxxxxxxxx514641007a", }, eventHandler(e) { if (e.detail.errNo) { console.log("跳转视频播放页失败", e.detail); } else { console.log("跳转视频播放页成功"); } }, });
当完成拍视频得到 videoId 后如果立即跳转播放页,因为服务端有延迟,一般是会失败的,建议先将 videoId 存到服务端,稍后再根据业务需要跳转播放页面。​