在小程序的页面中使用live-player组件,将实时音视频通话房间的拉流地址设置给live-player组件,实现音视频的拉流。...下面是一个简单的小程序直播功能的代码简单的示例:在小程序的json文件中添加以下代码: { "usingComponents": { "live-pusher": "/path/to/live-pusher", "live-player...": "/path/to/live-player" } }在小程序的wxml文件中添加以下代码: live-player url="" bindstatechange="playerStateChange">live-player>在小程序的js文件中添加以下代码
思路: 点击刷新时,用v-if将video元素隐藏,改变一个值,并在watch里监听这个值,值改变的时候 live-player id="live-video" :src="dataObj.serverAddress..." v-if="showVideo" autoplay>live-player> refresh(){ console.log("刷新视频") this.refreshdata+=1;...$nextTick()中,触发浏览器的重排,可以使浏览器重新获取video和live-player的src值,重新加载视频资源。
目前在页面存在 mode='RTC' 的 live-pusher 和至少一个 live-player 时,小程序在后台运行的情况下可以正常采集和播放音频,否则小程序在切后台时会终止音视频通话。...您可以检查小程序 Demo 左下方的控制面板,打开【调试模式】即可在界面上看到详细的推拉流信息,如果没有推拉流信息则表示未成功进房或 live-pusher,live-player 创建失败。...由于微信开发者工具不支持原生组件(即 和 live-player> 标签),需要在真机上进行运行体验。 不支持 uniapp 开发环境,请使用原生小程序开发环境。...请检查开通的小程序类目是否正确, 和 live-player> 标签是否已开启。 请确认已将 小程序域名白名单 添加到小程序 request 合法域名,或已开启调试模式。...> 标签使用及错误码参考: live-pusher 错误码 live-player 错误码 livePusherContext livePlayerContext 是否能监听小程序缩小到后台?
目前在小程序端的SEI消息,只支持收不支持发送 对于native端发发出来的消息,小程序端接收要通过2012的事件码,相关接收的代码如下 在live-player上有个事件绑定,并设置enable-recv-message...属性为true这里简写如下: live-player enable-recv-message="{{true}}" bindstatechange="_playerStateChange">live-player
前沿: 本篇博文会稍微有点长,用到的技术有 奥点云的 流媒体直播服务LSS 分布式双向消息服务DMS 以及 小程序的live-player组件 (奥点云做的很差劲,有更好的平台,最好换一个) 本篇博文的目的是为了让有些前端基础的新手快速搭建一个直播小程序...开始之前: 在小程序后台要开启 实时播放音频频流,这样才能使用live-player组件 注册一个奥点云账号,或者直接使用微信登录.进入控制台 流媒体直播服务LSS 分布式双向消息服务DMS 这个二个服务就是我们要用的直播和直播评论接口...不需要该任何参数,直接生成 奥点云就先到这里, 接着开始小程序的live-player的设置 live-player 组件详解 着重看这三个参数 src就是我们刚刚生成的rtmp地址 object-fit
res) { this.ctx = wx.createLivePlayerContext('player') }, statechange(e) { console.log('live-player...code:', e.detail.code) }, error(e) { console.error('live-player error:', e.detail.errMsg)...fail') } }) } }) 2.wxml代码 live-player
image.png pusher 由于 是基于 和 live-player> 实现的,所以 pusher 中的属性不仅包含了 <live-pusher...streamList 用于渲染 player 列表,存储 Stram ,streamList 中 Stream 的属性不仅包含了 live-player>的属性,在 /trtc-room/common.../model/stream.js 中有说明: image.png Stream 与 pusher 不同,它有单独的属性 playerContext 用来保存 LivePlayerContext对象(live-player...>上下文对象),通过该对象操作对应的live-player>,TRTC为小程序自动封装了监听方法,在远端流增加时会创建并渲染 live-player> 到页面然后完善stream中的属性。
4、小程序 live-player> 标签偶现黑屏或者播放失败? 这里需要先了解微信小程序 Page 生命周期,参考 小程序页面生命周期。...onReady 表示页面已经加载,完成初次渲染,跟 、live-player> 标签相关的操作都需要放在 onReady 里面实现。...6、live-player> 标签动态设置 mode 属性不生效如何解决?...> 标签上面叠加 cover-view 时不推荐修改标签的大小 当前 或 live-player> 大小变化时,iOS版本小程序对叠加在上面的cover-view不能追随变化...,界面显示不可预期, 因此当在 或 live-player> 标签上面叠加cover-view时,不要动态修改 或 live-player>
以下将展示微信小程序之媒体组件live-player源码官方组件能力,组件样式仅供参考,开发者可根据自身需求定义组件样式,具体属性参数详见小程序开发文档。...音画同步越好avRecvInterval音画同步错位时间(网络),单位 ms,此数值越小,音画同步越好audioCacheThreshold音频缓冲时长阈值,缓冲超过该阈值后,播放器会开始调控延时小窗特性说明live-player...Bug & Tip1.tip:live-player 默认宽度300px、高度225px,可通过 wxss 设置宽高。2.tip:开发者工具上暂不支持。...3.tip: 相关介绍和原理可参考此文章示例代码live-player src="https://domain/pull_stream" mode="RTC" autoplay bindstatechange...code:', e.detail.code) }, error(e) { console.error('live-player error:', e.detail.errMsg) }})版权声明: 本站所有内容均由互联网收集整理
小程序: live-player 支持 app不支持 百度小程序支持 m3u8 格式;微信小程序支持 flv, rtmp 格式 所以决定微信小程序使用liveplayer,app中使用video...注意:使用live-player 组件需注意:如果发布到小程序,需要先通过各家小程序的审核。...-- #ifdef MP-WEIXIN --> live-player id="live-video" :src="url" autoplay> 退出全屏 live-player...-- #endif --> 小程序下覆盖live-player需要使用cover-view,live-player 是原生组件,层级高于前端组件,请勿在 scroll-view、swiper、picker-view
和live-pusher组件,其中live-player组件主要支持rtmp和flv拉流方式,推流live-pusher组件主要支持rtmp推流,所以直播我们选用live-player组件,选用rtmp-flv...---- 问题2:小程序利用RTMP直播时,没有办法听声音,当前画面只有视频无声音; 问题原因:由于国标网关接的第三方国标设备音频大部分都是采用的G711.a的编码方式,而微信小程序live-player...将客户端播放器组件的live-player组件的播放缓存加大,当然服务端也可以加点GOP缓存应对设备端推流网络问题,但是带来的负面效应就是延时会稍微加大,不能设置过大过小; 2....服务端加调试日志等进行进一步大判断和分析,用专业工具分析写下来的码流,排查问题是时间戳问题,还是编解码问题还是服务自己内部处理问题; ---- Demo代码: 基于微信小程序Live-player组件...---- 本文总结: 本文主要讲了下基于微信小程序的点直播方案,其中点播基于H5 Video标签用了HLS-TS方案,直播基于微信live-player媒体组件用了RTMP-FLV方案。
直播组件 live-player>live-player> 组件是微信小程序提供的用于播放直播流的组件。它可以播放基于 RTMP、HLS 等协议的直播流。...作用说明live-player> 组件适用于实时直播场景,如在线课堂、电竞赛事直播、远程会议等。...示例三:基本的直播播放live-player id="myLivePlayer" src="rtmp://live.example.com/live/123456" autoplay enable-mute-ad...示例四:直播的高级配置live-player id="myLivePlayer" src="rtmp://live.example.com/live/123456" poster="https:...live-player id="myLivePlayer" src="rtmp://live.example.com/live/123456" bitrates="[{bitrate: 2000
live-pusher 和 live-player 没有限制第三方云服务 可直接使用腾讯云视频直播能力,只需配置好推流url、播放url即可 推流url: 播放url: 下面是我根据官网教程搭建的一个音视频小程序..." url="{{pusher.push_url}}" autopush='true' bindstatechange="onPush"> live-player...组件:设置后src音视频地址(仅支持 flv, rtmp 格式)等参数即可,使用bindstatechange获取播放状态变化 live-player...RTC" object-fit="fillCrop" src="{{item.playUrl}}" autoplay='true' bindstatechange="onPlay"> live-player
小程序直播相关API文档可以参照以下两个: 实时播放live-player:https://codeboy.blog.csdn.net/article/details/123922804 实时录制live-pusher...}) this.ctx = wx.createLivePlayerContext('player') }, statechange(e) { console.log('live-player...code:', e.detail.code) }, error(e) { console.error('live-player error:', e.detail.errMsg)...-- 全屏之后显示的内容,要写在live-player容器内 --> 退出全屏 live-player> <view class="page-section tc
这里就要解释一下trtc-wx的定位,它是一个辅助,用于帮业务层简化代码,它不能单独使用,需要与微信小程序的原生组件live-pusher/live-player进行搭配使用。...一、小程序推拉流实现逻辑(live-pusher、live-player与底层之间的关系) 要说trtc-wx那么小程序这两个原生标签就是不能绕开的东西,小程序通过live-pusher/live-player...trtc-wx调用逻辑链.png 回到live-pusher/live-player,标签本身有很多属性,我们可以把这两个原生标签当作是一个组件,通过传值给该组件,组件对值做一定处理传递到底层,底层调用驱动控制硬件设备...product/647/17018 live-pusher:https://developers.weixin.qq.com/miniprogram/dev/component/live-pusher.html live-player
live-pusher 和 live-player 没有限制第三方云服务 可直接使用腾讯云视频直播能力,只需配置好推流url、播放url即可 推流url: ? 播放url: ?...pusher.push_url}}" autopush='true' bindstatechange="onPush"> live-player...组件:设置后src音视频地址(仅支持 flv, rtmp 格式)等参数即可,使用bindstatechange获取播放状态变化 live-player...fillCrop" src="{{item.playUrl}}" autoplay='true' bindstatechange="onPlay"> live-player
同样的,我们将这部分能力用视频云 SDK 进行实现,并封装成一个叫做 live-player> 的标签。...信号放大器 在线直播是一个非常经典的单向音视频场景,您只需要简单的将两个标签组合在一起即可, 负责将本地画面和声音实时上传到腾讯云,live-player> 则负责从云端实时拉取音视频流...但在线直播方案只能应用于解决单向音视频问题,因为它有个明显的问题,就是延时一般都是在 2秒 - 5秒左右,这是使用 live-player> 标签配合腾讯云视频云可以达到的效果。...我们将 延时控制和 UDP 加速技术加入到 live-player> 标签里,可以将端到端的延时控制在 500ms 左右。这对于操作延时要求比较苛刻的场景,就可以满足需求了。...加入房间管理和 通知系统以后,我们就可以将 和 live-player> 和微信小程序的 websocket 等基础能力组合在一起,构建各种功能强大、逻辑复杂的小程序应用。
github 腾讯云官网 代码clone下来或者是解压完成后,会看到trtc-room的一个组件的代码包,如果只是想快速接入一下的话,可以直接跑通官网的demo,这里注意要开放live-pusher和live-player...videocall 双人通话 voice-room 语音房 以上是腾讯官网小程序的图片,demo有三个场景,语音房,双人通话,多人会议,这里会议场景下,可以设置的地方还是比较多的,live-pusher和live-player...组件内的页面跳转统一使用navigateTo,如果使用redirectTo进行页面跳转的,安卓的返回键,可能造成小程序挂起的假现象,这里页面的回收时间依赖于微信小程序的内存回收机制,不建议有live-pusher或live-player
live-player> 小程序在新版本中加入了 live-player> 标签用于实现音视频下行, 它支持两种模式:live 和 RTC,前者用于直播播放,后者则用于实时音视频通话。...live-player> 的 Live 模式即 TXLivePlayer::startPlay 中的 LIVE_RTMP 或 LIVE_FLV。...学员一端的小程序只需要创建一个 live-player> 标签,并将 mode 设置为 live 即可,技术参考文档见 DOC。...B 创建一个 live-player> 标签,mode 设置为 RTC,src 指定为 urlA。...A 创建一个 live-player> 标签,mode 设置为 RTC,src 指定为 urlB。此处所需的技术参考文档见 实时音视频。
中正常播放; 屏幕共享的视频流使用live-player播放; 2、音视频控制相关的问题 音视频上下台时推流中断出现画面闪烁的问题 上下台切换音/视频流时如果数组发生大的变化会导致live-pusher...和live-player中断,导致画面出现严重的闪烁问题; 通过对原有人员数据增加diff方法,添加上、下台的人员数据以及清理退出会议的人员,则可以避免此问题; 音视频房间与逻辑房间userID不一致的问题...当前 video, map, live-player, live-pusher, canvas(2d) 组件已支持同层渲染。...1、 组件live-player和live-pusher不支持点击事件,支持全屏操作的切换; 小程序live-pusher/live-player不支持点击事件,可以用一个透明的view覆盖在原生组件上用于响应事件...可滚动的问题(遗留) 问题表现: 当用户点击某个用户头像全屏后,再回列表,有一定概率出现小窗口可以滚动的情况; 解决方案: 初步确定的方案是在全屏视图下把普通view节点与live-player进行分离
领取专属 10元无门槛券
手把手带您无忧上云