cabin
cabin
  • 发布:2019-09-18 23:47
  • 更新:2022-09-09 11:57
  • 阅读:1820

【报Bug】nvue中使用live-pusher调用snapshot(callback)回调函数没执行

分类:uni-app

详细问题描述

nvue中使用live-pusher
调用snapshot(callback)回调函数没执行获取不到图片信息
调用switchCamera(callback)摄像头可以切换,回调函数也没执行

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]

重现步骤

[步骤]

[结果]

[期望]

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]

[IDE版本号]
2.2.2.20190816
[windows版本号]
win10
[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]
app
[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
HBuilderX创建
[编译模式是老模板模式还是新的自定义组件模式?]
自定义组件模式

App运行环境说明

[Android版本号]

[iOS版本号]

[手机型号]

[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

开始直播切换摄像头快照结束直播 export default { data() { return { liveHeight:0, context:null, } }, onReady() { const res = uni.getSystemInfoSync(); this.liveHeight = res.windowHeight; this.context = uni.createLivePusherContext("livePusher1", this); }, methods: { statechange(e) { console.log("statechange:" + JSON.stringify(e)); }, netstatus(e) { //console.log("netstatus:" + JSON.stringify(e)); }, error(e) { console.log('错误'); console.log("error:" + JSON.stringify(e)); }, start: function() { console.log('开始推流'); this.context.start((a) => { console.log("livePusher.start:" + JSON.stringify(a)); }); }, snapshot: function() { console.log('快照'); this.context.snapshot(function(e){ console.log(e) }); }, resume: function() { console.log('恢复推流'); this.context.resume((a) => { console.log("livePusher.resume:" + JSON.stringify(a)); }); }, pause: function() { console.log('暂停推流'); this.context.pause((a) => { console.log("livePusher.pause:" + JSON.stringify(a)); }); }, stop: function() { console.log('停止推流'); this.context.stop((a) => { console.log(JSON.stringify(a)); }); }, switchCamera: function() { console.log('切换摄像头'); console.log(this.context); this.context.switchCamera((a) => { console.log("livePusher.switchCamera:" + JSON.stringify(a)); }); }, startPreview: function() { console.log('开启摄像头预览'); this.context.startPreview((a) => { console.log("livePusher.startPreview:" + JSON.stringify(a)); }); }, stopPreview: function() { console.log('关闭摄像头预览'); this.context.stopPreview((a) => { console.log("livePusher.stopPreview:" + JSON.stringify(a)); }); } } }

联系方式

[QQ] 596914224

2019-09-18 23:47 负责人:无 分享
已邀请:
清茶涩

清茶涩

我真的是服了,根本获取不到快照,success和回调function都不行

s***@outlook.com

s***@outlook.com - 简单传递美好,

2.3.3 IOS端好像这个组件直接不显示了

  • s***@outlook.com

    回调确实没有用了....Nvue的页面上

    2019-09-27 18:24

CLP

CLP

你这个问题是安卓还是iOS的?

  • cabin (作者)

    安卓IOS都不行

    2019-10-10 22:58

CLP

CLP

你的manifest.json里 这个节点app-plus下的配置是什么?

  • DCloud_UNI_HDX

    回复 cabin: 注意:配置里包含敏感信息,赶紧去掉

    2019-10-12 12:57

CLP

CLP

你可以先用这种方式: this.$refs.livePusher.snapshot((a)=>{
console.log("livePusher:"+JSON.stringify(a));
});

DCloud_UNI_HDX

DCloud_UNI_HDX

  • 4***@qq.com

    Api中的文档没有变更

    2019-10-17 08:40

  • DCloud_UNI_HDX

    回复 4***@qq.com: 强制刷新

    2019-10-17 10:21

  • cabin (作者)

    IOS的start回调还是没有执行,其有的回调有执行,netstatus 没有返回相关信息

    2019-11-07 17:24

  • 合肥前端小菜鸡

    回复 cabin: 2年了还没有优化bug吗

    2022-06-14 13:53

DCloud_UNI_HDX

DCloud_UNI_HDX

更新HBuilderX,已修复 uni.createLivePusherContext 报错的Bug

  • liuxl126

    我遇到live-pusher当用户拒绝开启摄像头时,在ios中statechange,netstatus,error都不会触发,安卓是正常的,并且没有开启摄像头权限this.context.startPreview还会走success里面。现在没有地方判断用户到底是点了拒绝还是允许,麻烦解答。

    2021-09-24 11:29

  • 合肥前端小菜鸡

    小程序snapshot这个方式还是没有执行

    2022-06-14 11:21

德

有人解决掉吗?

1***@189.cn

1***@189.cn

三年了 还没解决

要回复问题请先登录注册