uniapp 小程序接入腾讯实时音视频trtc-wx

这篇具有很好参考价值的文章主要介绍了uniapp 小程序接入腾讯实时音视频trtc-wx。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境要求
微信 App iOS 最低版本要求:7.0.9
微信 App Android 最低版本要求:7.0.8
小程序基础库最低版本要求:2.10.0
由于小程序测试号不具备 和 的使用权限,请使用企业小程序账号申请相关权限进行开发。
由于微信开发者工具不支持原生组件(即 和 标签),需要在真机上进行运行体验。

前提条件

1.您已 注册腾讯云 账号,并完成 实名认证。

2.开通小程序类目与推拉流标签权限(如不开通则无法正常使用)。
出于政策和合规的考虑,微信暂未放开所有小程序对实时音视频功能(即 和 标签)的支持:
小程序推拉流标签不支持个人小程序,只支持企业类小程序。
小程序推拉流标签使用权限暂时只开放给有限 类目。
符合类目要求的小程序,需要在 微信公众平台>开发>开发管理>接口设置 中自助开通该组件权限,如下图所示:
uniapp 小程序接入腾讯实时音视频trtc-wx
第一步:下载官方demo,附地址:https://github.com/LiteAVSDK/Live_WXMini,然后导入本地HbuilderX中
uniapp 小程序接入腾讯实时音视频trtc-wx
里面有三个项目,这里选择TRTCSimpleDemoUniapp这个
第二步:将文件夹下的lib文件夹拷贝到自己uniapp项目根目录下

uniapp 小程序接入腾讯实时音视频trtc-wx
pages页面下面是模板可以自行选择使用

3.第三步引入TRTC

import TRTC from '@/lib/trtc-wx'

4.初始化TRTC

// 创建推流实例
	     this.pusher = this.TRTC.createPusher({
			 enableCamera:true,
			 enableMic:true,
			 mode:'SD',
			 videoHeight:360
			 
		 })

进入房间

enterRoom(options) {
		 console.log(options);
	       const {
	         roomId,
	         userId,
			 sdkAppID,
			 userSig
	       } = options
	       this.pusher = this.TRTC.enterRoom({
	         userID: userId,
	         sdkAppID,
	         userSig,
	         roomID: roomId,
	         enableMic:true,
	       })
		   console.log(this.pusher);
	       this.TRTC.getPusherInstance().start() // 开始推流(autoPush的模式下不需要)
	     },

事件监听

 bindTRTCRoomEvent() {
	       const TRTC_EVENT = this.TRTC.EVENT
	       // 初始化事件订阅
	       this.TRTC.on(TRTC_EVENT.LOCAL_JOIN, (event) => {
	         console.log('* room LOCAL_JOIN', event)
	       })
	       this.TRTC.on(TRTC_EVENT.LOCAL_LEAVE, (event) => {
	         console.log('* room LOCAL_LEAVE', event)
	       })
	       this.TRTC.on(TRTC_EVENT.ERROR, (event) => {
	         console.log('* room ERROR', event)
	       })
	       // 远端用户退出
	       this.TRTC.on(TRTC_EVENT.REMOTE_USER_LEAVE, (event) => {
	         console.error('* room REMOTE_USER_LEAVE', event)
	         this.playerList = event.data.playerList
	       })
	       // 远端用户推送音频
	       this.TRTC.on(TRTC_EVENT.REMOTE_AUDIO_ADD, (event) => {
	         console.log('* room REMOTE_AUDIO_ADD', event)
	         const {
	           player,
	         } = event.data
	         this.setPlayerAttributesHandler(player, {
	           muteAudio: false,
	         })
	       })
	       // 远端用户取消推送音频
	       this.TRTC.on(TRTC_EVENT.REMOTE_AUDIO_REMOVE, (event) => {
	         console.error('* room REMOTE_AUDIO_REMOVE', event)
	         const {
	           player,
	         } = event.data
	         this.setPlayerAttributesHandler(player, {
	           muteAudio: true,
	         })
	       })
	     },
	     // 设置 pusher 属性
	    setPusherAttributesHandler(options) {
	      this.pusher = this.TRTC.setPusherAttributes(options)
	    },
	
	    // 设置某个 player 属性
	    setPlayerAttributesHandler(player, options) {
	      this.playerList = this.TRTC.setPlayerAttributes(player.streamID, options)
	    },

退出房间

 exitRoom() {
		  this.TRTC.getPusherInstance().stop() 
	      const { pusher, playerList } = this.TRTC.exitRoom()
	      this.pusher =  pusher
	      this.playerList = playerList
		  
	    },
 <live-pusher class="live-pusher" :mode="pusher.mode" :autopush="pusher.autopush" :url="pusher.url"
      :enable-mic="pusher.enableMic" :enable-camera="pusher.enableCamera"
	  ></live-pusher>

要给live-pusher设置高宽

data中定义的变量文章来源地址https://www.toymoban.com/news/detail-502901.html

      moitorData:{},
	  pusher:{},
	  TRTC: null,

到了这里,关于uniapp 小程序接入腾讯实时音视频trtc-wx的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 腾讯云音视频及融合通信技术

    随着直播、游戏、电商、VR等场景的普及,基于音视频的实时娱乐社交、3D虚拟直播、AI视频招聘、元宇宙等新场景也纷纷涌现,下面一起走进音视频的世界。 腾讯云音视频产品,从底层编解码、到传输网络、到平台架构、再到用户终端,无一不决定产品“生死”,与此同时,

    2024年02月11日
    浏览(39)
  • 音视频实时通话解决方案

    想要实现音视频通话,对于大部分人可能会觉得很难,但是实际上,有些事情并没有大家想的那样困难,只要功夫深,铁杵磨成针。 机缘巧合下,在业务中,我也遇到了一个业务场景需要实现音视频通话,我们不可能自己从零开始干,我本次用到的核心是WebRTC。 WebRTC (Web R

    2024年02月12日
    浏览(34)
  • Sora:新一代实时音视频通信框架

             Sora 是一个开源的实时音视频通信框架,旨在提供高效、稳定、可扩展的音视频通信解决方案。 它基于 WebRTC技术 ,支持跨平台、跨浏览器的实时音视频通信,并且具备低延迟、高并发、易集成等特点。         --点击进入Sora(一定要科学哦,不会的私信)  目录

    2024年02月22日
    浏览(46)
  • 使用Sora部署实时音视频通信应用实战项目

              本项目将构建一个在线教学平台,实现教师与学生之间的实时音视频通信。 平台将提供教师上传课件、发起授课邀请,学生加入课堂、实时互动等功能。通过使用 Sora ,我们将确保音视频通信的稳定、流畅和低延迟。 目录 一、项目概述 二、准备工作 三、集成

    2024年02月20日
    浏览(42)
  • iOS 端实现1对1音视频实时通话

    首先,我们来看一下 iOS 端是如何获取访问音视频设备权限的。相比 Android 端而言,iOS端获取相关权限要容易很多。其步骤如下: 打开项目,点击左侧目录中的项目。 在左侧目录找到 info.plist ,并将其打开。 点击 右侧 看到 “+” 号的地方。 添加 Camera 和 Microphone 访问权限。

    2024年02月15日
    浏览(40)
  • 乐鑫ESP-RTC 实时音视频通信方案

    乐鑫 ESP-RTC 实时音视频通信方案 乐鑫科技推出 ESP-RTC (Real-Time Communication) 音视频通信方案,能够实现稳定流畅、超低延时的语音和视频实时通信。 ESP-RTC 以乐鑫 ESP32-S3-Korvo-2 多媒体开发板为核心。ESP32-S3-Korvo-2 搭载 ESP32-S3 AI SoC,拥有双麦克风阵列,支持近/远场语音唤醒和

    2023年04月14日
    浏览(33)
  • GB28181设备接入侧如何对接外部编码后音视频数据并实现预览播放

     技术背景 我们在对接GB28181设备接入模块的时候,遇到这样的技术诉求,好多开发者期望能提供编码后(H.264/H.265、AAC/PCMA)数据对接,确保外部采集设备,比如无人机类似回调过来的数据,直接通过模块,对接到GB28181平台侧,此外,还期望不支持或者内网没有外部网络权限

    2024年02月12日
    浏览(32)
  • [开源]企业级在线办公系统,基于实时音视频完成在线视频会议功能

    本项目使用了SpringBoot+Mybatis+SpringMVC框架,技术功能点应用了WebSocket、Redis、Activiti7工作流引擎, 基于TRTC腾讯实时音视频完成在线视频会议功能。 使用GPL-3.0开源协议                   办公系统应用了工作流引擎,基于RBAC的权限管理系统,工作流审批有请假流程审批、会议

    2024年02月05日
    浏览(63)
  • JRTP实时音视频传输(2)-使用TCP通信的案例

    环境搭建等参考:JRTP实时音视频传输(1)-必做的环境搭建与demo测试 先将example1拷贝为myclienttcp.cpp和myservertcp.cpp cp example1.cpp myclienttcp.cpp cp example1.cpp myservertcp.cpp 改写jrtplib/JRTPLIB/examples/CMakeLists.txt,添加myclienttcp和myservertcp编译 重新生成Makefile并编译 可以看到成功编译了myclient

    2024年01月18日
    浏览(42)
  • iOS开发-NotificationServiceExtension实现实时音视频呼叫通知响铃与震动

    iOS开发-NotificationServiceExtension实现实时音视频呼叫通知响铃与震动 在之前的开发中,遇到了实时音视频呼叫通知,当App未打开或者App在后台时候,需要通知到用户,用户点击通知栏后是否接入实时音视频的视频或者音频通话。 在iOS需要为工程新建Target:NotificationServiceExtensi

    2024年02月14日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包