- 小程序中如何编写一个类似于wx.showLoading的组件?
在浏览器端,可以通过DOM节点的增加和删除来实现一个类似于wx.showLoading的API组件。但是在小程序端,由于缺少document对象,DOM操作受限,这种情况下,应该如何创建一个类似于wx.showLoading的API组件?
2021-10-12 - onShareTimeline的文档能不能写清楚一点?
[图片] query的值到底怎样定义的?它的值到底是String还是Object? 是写成:{ id:001, name: 'zhangsan' } 还是写成:id=001&name=zhangsan 又或者是:?id=001&name=zhangsan 本来这里测试就挺不方便,文档还不清楚,我懵逼了我。
2021-09-16 - 使用onShareAppMessage接口分享无法显示分享GIF格式的图片
在使用onShareAppMessage接口分享时,在聊天框无法展示分享的网络图片,开发者工具可以,但真机不行,问题截图如下: [图片] 经查证图片链接可以被访问,在Chrome浏览器端访问完全没问题,大小是差不多100K-150K左右,图片格式是GIF。图片链接是:https://visible-cloud.oss-cn-hangzhou.aliyuncs.com/busi-warehouse/1631672055244.gif?x-oss-process=image/resize,w_500
2021-09-15 - live-player全屏后,其上的canvas元素不再显示?
微信版本:8.0.10 小程序基础库:2.19.4 控件:live-player、canvas 需要在live-player上层显示canvas元素绘制特定图像,在非全屏模式下,canvas能够正常的呆在live-player标签之上,这种情况正常。但在live-player全屏后,其上的canvas元素便不再显示。
2021-09-09 - wx.getImae方法请求网络图片信息,请求成功,但是请求结果是碎了的图片,怎么回事?
问题描述:请求网络图片,显示请求成功了,请求Status Code的值为200,但是内容是碎了的图片,图片地址: https://tea-business-dev.oss-cn-hangzhou.aliyuncs.com/busi-warehouse/1631072412517.gif?Expires=1946432414&OSSAccessKeyId=LTAI4FthRbDiX74U3G5K1RZY&Signature=suv6Et%2F81E0ADV5Y1MHcU2RAWBg%3D 请求结果详情如下截图: [图片][图片] 备注:该网络图片的地址可以通过Chrome浏览器访问,并能正确下载图片
2021-09-08 - live-player播放器第2次之后播放就在卡死在状态"2008:解码已启动"这里
视频地址:rtmp://rtmp01open.ys7.com:1935/v3/openlive/F37874691_10_2?expire=1630752171&id=353973131969540096&t=77333ff57c7282721c23b3f2c1dbcb14744cc15f73f617b883643c92033a8118&ev=100&supportH265=1 第一步:展示live-player标签,展示正常,并执行 LivePlayerContext.play(),能够正常播放。 [图片] 第二步:进行停止视频播放,执行LivePlayerContext.stop(),并同时隐藏live-player标签,标签已经隐藏成功,如下图: [图片] 第3步:再次执行视频播放,展示live-player标签,标签展示成功,并执行 LivePlayerContext.play()方法,然后视频状态就停留在"2008:解码器已启动"这里再也没有动静了。 [图片][图片] 代码如下: <template> <live-player class="video" id="myVideo" :src="videoUrl" controls ref="videoDOM" style="width: 100%" v-if="videoUrl && isPlaying" @statechange="statechange" @click="pauseVideo" ></live-player> <view class="video" @click="toPlayVideo" v-else>点击开始播放</view> </template> <script> export default { name: "Test", data() { return { videoCtx: undefined, videoUrl: undefined, isPlaying: false, isFirstPlay: true, }; }, onLoad() { this.videoCtx = wx.createLivePlayerContext("myVideo", this); }, methods: { toPlayVideo() { let url = "rtmp://rtmp01open.ys7.com:1935/v3/openlive/F37874691_2_2?expire=1630980209&id=354929592471822336&t=9ed21a1d3e78f59e791c97bb5a03de1104acfaf84e7b33be5c260d692f9007dd&ev=100&supportH265=1"; if (!this.isFirstPlay) { url = "rtmp://rtmp01open.ys7.com:1935/v3/openpb/F37874691_10_1?begin=20210903155605&end=20210903155615&expire=1630979079&id=354924855321063424&rec=local&t=06f7374a380901f39bc5a2a8ede72b81ae0392f4c810d1a0c8f2e1b6259aeee3&ev=100&supportH265=1"; } this.playVideo(url); }, playVideo(url) { this.videoUrl = url; this.isPlaying = true; this.videoCtx.play(); this.isFirstPlay = false; }, pauseVideo() { this.videoCtx.stop(); this.videoUrl = undefined; this.isPlaying = false; }, statechange(status) { const code = status.detail.code; if (code === 2001) { this.$api.msg("2001: 已经连接服务器"); } else if (code === 2002) { this.$api.msg("2002: 已经连接 RTMP 服务器,开始拉流"); } else if (code === 2003) { this.$api.msg("2003: 网络接收到首个视频数据包(IDR)"); } else if (code === 2004) { this.$api.msg("2004: 视频播放开始"); } else if (code === 2008) { this.$api.msg("解码器启动,如遇不播放或卡顿,请尝试重新播放", 3000); } else if (code === 2009) { console.warn("2009: 视频分辨率改变"); } else if (code === 2101) { this.$api.msg("2101: 当前视频帧解码失败"); } else if (code === 2102) { this.$api.msg("2102: 当前音频帧解码失败"); } else if (code === 2103) { this.$api.msg("2103: 网络断连, 已启动自动重连"); } else if (code === 2104) { this.$api.msg( "2104: 网络来包不稳:可能是下行带宽不足,或由于主播端出流不均匀" ); } else if (code === 2105) { this.$api.msg("2105: 当前视频播放出现卡顿"); } else if (code === 2106) { this.$api.msg("2106: 硬解启动失败,采用软解"); } else if (code === 2107) { this.$api.msg("2107: 当前视频帧不连续,可能丢帧"); } else if (code === 2108) { this.$api.msg("2108: 当前流硬解第一个I帧失败,SDK自动切软解"); } else if (code === 3001) { this.$api.msg("3001: RTMP -DNS解析失败"); } else if (code === 3002) { this.$api.msg("3002: RTMP服务器连接失败"); } else if (code === 3003) { this.$api.msg("3003: RTMP服务器握手失败"); } else if (code === 3005) { this.$api.msg("3005: RTMP 读/写失败,之后会发起网络重试"); } else if (code === -2301) { this.$api.msg( "-2301: 网络断连,且经多次重连抢救无效,更多重试请自行重启播放" ); } else if (code === -2302) { this.$api.msg("-2302: 获取加速拉流地址失败"); } }, }, }; </script> <style lang="scss" scoped></style>
2021-09-03