当前位置:   article > 正文

微信小程序-腾讯云即时通信 IM 小程序直播(一)_小程序接腾讯云直播

小程序接腾讯云直播

 一、这里我们先讲讲使用腾讯云直播 流程

请先将1.2.3的都去简单的过一遍 就是组件的参数了解一下

1.准备推流跟拉流地址 (登录腾讯云在控制台 在直播工具箱 找到创建推流跟拉流)推流跟拉流的地址是不一样的 这里需要注意  详细步骤 https://cloud.tencent.com/document/product/454/7915

2.需要去到绑定小程序的公众平台添加相关直播的类目 比如你是做那类直播的 详细步骤https://cloud.tencent.com/document/product/454/12518

3.以上都做好之后 我们就可以使用

  3.1.<live-pusher> (推流组件 也就是直播)

  3.2.<live-player>(拉流组件 也就是观看直播)

  3.3.<mlvb-live-room>

  详细步骤请看这里 https://cloud.tencent.com/document/product/454/12518

4.讲一下这两个组件的几个重要属性

4.1<live-pusher> 推流组件

url:'推流地址' //这个是展示的推流地址 是我们第一步创建的推流地址 放在这里就好

mode:'SD' //这里有四个选择 SD,HD,FHD,RTC 。 SD、HD 和 FHD 主要用于直播类场景, RTC 则主要用于双向视频通话或多人视频通话场景

autopush:false 是否自动启动推流 //这个就是如果为 true 主播点击开播 那就是直接开播了 false 的话 我们就可以先预览一下直播效果 如果合适我们在直接开播

enable-camera:true //是否开启摄像头 默认开启

debug:true //是否开启调试 我们在开发中 开启这个方便我们观察 直播是否正常 上线需关闭

4.2<live-player> 拉流组件

url:'拉流地址' //这个是展示的拉流地址 是我们第一步创建的拉流地址 放在这里就好

mode:'live' //live 模式主要用于直播类场景 RTC 则主要用于双向视频通话或多人视频通话场景

autoplay:false //进入直播间是否自动播放 一般都是自动播放的

background-mute:false //当微信切到后台时,是否关闭播放声音

debug:true //是否开启调试 我们在开发中 开启这个方便我们观察 观看直播是否正常 上线需关闭

二、现在我们来看看 代码如果实现

提示:做一个功能的时候 我们最好先自己写一个dome测试一下 通了在放在咱自己的项目里面去 这样才不会眼花缭乱

1.这个是一个简单的创建直播的页面 其实还有其他的 这根据你们业务需求来 当我们点击直播的时候 这中间过程是需要请求后端接口 将房间名称以及其他业务需求传过去 然后后端会返回房间id 推流地址给你 这里我就不做了 因为我知道推流地址了 就直接拿来用了

index.wxml文件

  1. <view class="box">
  2. <input class="input" value='{{roomData.roomName}}'
  3. type="text" placeholder="需要创建的房间名称" maxlength='30' />
  4. <button class="mini-btn" type="primary"
  5. size="mini" bindtap='setupLive'>开播</button>
  6. </view>

index.js文件

  1. Page({
  2. data: {
  3. roomData: {
  4. roomNumberID: 110,//房间号
  5. roomName: '',//房间名称
  6. userNameID: 2,//用户id
  7. userName: '小明',//用户名称,
  8. }
  9. },
  10. //开播
  11. setupLive() {
  12. // 跳转到直播页面
  13. wx.navigateTo({
  14. url: `/pages/room-live/index?roomData=` + this.data.roomData,
  15. });
  16. },
  17. })

2.直播页面   直播展示  看你们怎么设计 如果直播是全屏的画 我们那些按钮采用cover-view 这个组件悬浮上去 比如:暂停直播、美颜等级调整、关闭直播等等这些操作

room.wxml

  1. <view class="box">
  2. <live-pusher id="livePlayerID" src="{{roomData.roomUrl}}" mode="SD"
  3. autopush='{{pusher.autopush}}' enable-camera='true' auto-focus='true'
  4. orientation="orientation" beauty='5' whitenes='5' device-position='front'
  5. waiting-image='https://profile.csdnimg.cn/B/F/D/2_qingqingyang6'
  6. background-mute class="live-playe"></live-pusher>
  7. <view>
  8. <text>这里做一些其他操作</text>
  9. </view>
  10. <cover-view style="position: fixed; top: 0; left: 0;">
  11. 悬浮在页面上 比如:暂停直播、美颜等级调整、关闭直播等等这些操作
  12. </cover-view>
  13. </view>

room.js

  1. Page({
  2. data: {
  3. roomData: {
  4. roomNumberID: 110,//房间号
  5. roomName: '美好的一天直播间',//房间名称
  6. userNameID: 2,//用户id
  7. userName: '小明',//用户名称,
  8. roomUrl: 'rtmp://.....', //推流地址
  9. },
  10. livePlayer: null,
  11. },
  12. onLoad(e) {
  13. <!-- 这里是初始化id -->
  14. this.data.livePlayer = wx.createLivePusherContext('livePusherID');
  15. this.data.livePlayer.start({})
  16. },
  17. })

以上是简单的直播流程

3.观看直播间页面 其实跟直播的差不多 相对比较简单

see-rome.wxml

  1. <view>
  2. <live-player src="rtmp://....." mode="live"
  3. autoplay='false' muted="false" orientation="orientation"
  4. background-mute object-fit="contain"
  5. debug id="livePlayerID" class="live-playe"></live-player>
  6. </view>

see-rome.js

  1. Page({
  2. onLoad(e) {
  3. <!-- 这里是初始化id -->
  4. let player = wx.createLivePlayerContext('livePlayerID');
  5. player.play();
  6. },
  7. })

一个简单的dome就完成了 其实有很多需要注意的 比如直播的时候实在pc端直播还是用什么第三方的 如果用第三方的 那我们前端就只需要做拉流 就不需要做推流了 拉流就比较简单

下期就讲一下 我们观看直播间的时候 给主播点赞 在直播间发送消息 直播间商品展示 送礼物等 腾讯云的即时通信IM

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/247194
推荐阅读
相关标签
  

闽ICP备14008679号