cabin
cabin
  • 发布:2019-09-18 23:47
  • 更新:2024-01-09 18:53
  • 阅读:3320

【报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地址]

[可重现代码片段]

<template>
<view>
<live-pusher id='livePusher1' class="livePusher" ref="livePusher" url="rtmp://**"
mode="FHD" aspect="16:9" postition="absolute"
@statechange="statechange" @netstatus="netstatus" @error = "error" :style="{height:liveHeight+'px'}"></live-pusher>
<view class="console">
<view class="action-box">
<view class="act-btn" @click="start"><text class="btn-txt">开始直播</text></view>
<view class="act-btn" @click="switchCamera"><text class="btn-txt">切换摄像头</text></view>
<view class="act-btn" @click="snapshot"><text class="btn-txt">快照</text></view>
<view class="act-btn" @click="stop"><text class="btn-txt">结束直播</text></view>
</view>
</view>
</view>
</template>
<script>
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));  
            });  
        }  
    }  
}  

</script>

联系方式

[QQ] 596914224

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

清茶涩

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

2***@qq.com

2***@qq.com

4年了还没有解决

5***@qq.com

5***@qq.com

2023年了回调还是没执行

图图不靠谱

图图不靠谱

三年了 还没解决

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下的配置是什么?

CLP

CLP

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

DCloud_uniAD_HDX

DCloud_uniAD_HDX

DCloud_uniAD_HDX

DCloud_uniAD_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***@qq.com

1***@qq.com

有人解决吗

1***@qq.com

1***@qq.com

这个问题,有人解决了么

2***@qq.com

2***@qq.com

4年了还没有解决

h***@163.com

h***@163.com

5年了,还没解决。掉坑了,各位兄台,你们换别的什么方案了吗

要回复问题请先登录注册