android ios 实时视频,腾讯云TRTC实时音视频专业版Android/IOS_侯稳的博客-程序员ITS304

技术标签: android ios 实时视频  

更新记录

1.4(2021-01-22)

更新hbuildx 3.x版本打包问题

1.3(2020-12-28)

更新SDK

查看更多

平台兼容性

Android

iOS

适用版本区间:5.0 - 11.0

适用版本区间:9 - 14

原生插件通用使用流程:

购买插件,选择该插件绑定的项目。

在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。

根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。

打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。

开发完毕后正式云打包

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择

使用方法

只能在nvue页面中使用自定义组件,目前已满足基本的视频通话与直播推流,其他功能待添加

放置视频画面承载组件, uniqueId必填唯一!

如下一对一视频通话html布局,多人视频同理

进入房间

const trtcCloud = uni.requireNativePlugin('Lyuan-TrtcPro-TRTCCloud');

trtcCloud.enterRoom({

appId: number,

appKey: string,

userSig:string ,//appKey, userSig二选一

roomId: number,

userId: string

},

e => {

console.log('回调通知,具体回调查看官方文档',e);

switch (e.type) {

case 'onUserVideoAvailable':

if (e.available) {

//摄像头可用,显示对方画面

trtcCloud.startRemoteView(e.userId, 'max');

} else {

//对方画面不可用,停止显示

trtcCloud.stopRemoteView(e.userId);

}

break;

}

}

);

//检查权限,然后打开画面

trtcCloud.checkPermission(success => {

if (success) {

trtcCloud.startLocalPreview('min');

trtcCloud.startLocalAudio();

} else {

console.log('您没有授权相机、麦克风权限!');

}

});

// 退出房间

trtcCloud.exitRoom();

trtcCloud.destroySharedInstance();

trtcCloud方法说明

方法

说明

checkPermission(callback)

检查摄像头、麦克风权限

startLocalPreview(uniqueId)

打开本地画面

startLocalAudio()

打开本地麦克风

startRemoteView(userId,uniqueId)

打开远程画面

enterRoom({appId,appKey,userSig,roomId,userId,streamId,role,scene},callback)

进入房间

exitRoom()

退出房间

destroySharedInstance()

销毁实例

switchCamera()

切换摄像头

setAudioRoute(0/1)

切换听筒1,扬声器0

直播推流

推流承载组件

使用方法, onReady后可使用

//注册,必填,需在腾讯云移动直播购买

this.$refs.livePusher.setLicence(key,url);

//开始推流

this.$refs.livePusher.start('rtmp://', success => {

if(success){

//推流成功

}else{

//失败

}

});

//设置是否纯音频推流, 需在start推流前执行

this.$refs.livePusher.enablePureAudioPush(true/false)

//停止推流

this.$refs.livePusher.stop()

//暂停推流

this.$refs.livePusher.pause()

//恢复推流

this.$refs.livePusher.resume()

//开启预览

this.$refs.livePusher.startPreview()

//停止预览

this.$refs.livePusher.stopPreview()

//切换摄像头

this.$refs.livePusher.switchCamera()

//切换清晰度:标清1,高清2,超高清3

this.$refs.livePusher.setVideoQuality(number)

//回调通知

statechange(e) {

if (e.type == 'onNetStatus') {

} else if (e.type == '' && e.detail) {

console.log('错误:' + e.detail);

} else console.log('statechange', e.detail);

},

横屏推流

onReady(){

plus.screen.lockOrientation('landscape-primary');

this.$refs.livePusher.setHomeOrientation(0);

this.$refs.livePusher.setLicence('','');

this.$refs.livePusher.startPreview();

},

onBackPress(e) {

//返回上页, 恢复竖屏

plus.screen.lockOrientation('portrait-primary');

}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42503008/article/details/117615121

智能推荐

卸载软件后电脑服务中有残余,删除残余的方法_Chafferer,迷心的博客-程序员ITS304_软件卸载了服务还在

很多朋友想必在卸载了一些大型软件(Oracle,SQL server2008等)后,在次安装还是有残余,在电脑中的服务中的残余不知道怎么删除,下面就个大家讲解一下利用cmd命令删除残余的方法。 卸载软件后,服务中还有残余的数据,为了防止影像下次按装软件,解决方法:删除卸载软件后在服务中显示的错误信息的服务名称:在cmd 窗口中输入:sc delete “要删除服务的名称”  回车即可...

Angular8升级至Angular10报 .ts file is part of the TypeScript compilation but it‘s unused 的warning_青颜的天空的博客-程序员ITS304

这几天升级公司的一个Angular项目,把Angular更新到最新的10.0.1版本。"dependencies": { "@angular/animations": "^10.0.1", "@angular/cdk": "^10.0.1", "@angular/common": "~10.0.1", "@angular/compiler": "~10.0.1", "@angular/core": "~10.0.1", "@angular/forms": "~10.0.1",

springmvc上传下载_sky2line的博客-程序员ITS304

(1)form表单的enctype取值是:multipart/form-data,method取值是:post,提供一个文件选择域(2)springmvc方式做表单<h3>springmvc文件上传方式</h3><form action="user/fileUpload2" method="post" enctype="multipart/form-data"> 选择文件<input type="file" name="upload"/>

flyway遇到的问题Caused by: java.lang.ClassNotFoundException: org.flywaydb.core.api.callback.FlywayCallbac_jalen_zh的博客-程序员ITS304

问题环境是springboot2.1.8+flyway6.0.4,尝试编译出错,异常堆栈的信息是找不到flywaycallback类解决过程1、flywaycallback找不到,导致org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayConfiguration这个bean创建失败...

使用lua语言做高并发限流_shecanwin的博客-程序员ITS304

lua语言介绍       Lua[1]  是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。 其设计目的是为了嵌入

随便推点

Hystrix线程池隔离和信号量隔离的区别_山竹之七语的博客-程序员ITS304_hystrix线程隔离和信号量隔离

根本的区别在于线程池隔离的请求链路是:用户请求的线程在Hystrix中调用了线程池中的线程,类似main方法中调用了另外一个线程。信号量隔离的请求链路是:只有用户请求。由请求链路区别延伸出另外的区别:信号量比较直白,无法设置超时时间,线程池相当于做了一层中介,可以灵活设定一些参数:超时时间等。那这样的话,信号量就比较适合做耗时短,速度快的调用,如果耗时长,那么就会占用tomcat的线程,这里的tomcat线程就是用户请求,如果使用线程池隔离的话其实就是类似主子线程,子线程去处理接口的调用。所

业余开发分享-Java IDEA开发学习踩坑笔记一_weixin_chen的博客-程序员ITS304

Windows下使用IDEA进行开发的准备与需要注意的问题

Cocos2D-X入门书籍推荐_huoshi5151的博客-程序员ITS304

1. 一些在线书店有售的一本关于Cocos2D-X的书,作者是徐松林和黄猛。国内的开发者可通过下面的网上商店购买该书:当当网:http://product.dangdang.com/product.aspx?product_id=22561741京都商城:http://book.360buy.com/10896657.html 该书适合Cocos2D-X初学者。

oracle补丁下载收费吗,Oracle补丁怎么下载_weixin_39913141的博客-程序员ITS304

Oracle 技术补丁中心现在可以从 My Oracle Support 的 Patches and Updates 选项卡下载 Sun 产品补丁、更新和固件。Oracle Sun 客户和合作伙伴的 My Oracle Support 欢迎中心提供了访问和使用 My Oracle Support 的相关信息。在 My Oracle Support 中查找下载:1.登录 My Oracle Supp...

aspose.words 读取excel图片时 单元格位置确定_鲤鱼喝雪碧的博客-程序员ITS304_aspose.cells 读取图片

问题如下图所示:我看有人提了这个问题,但是没有给出解决方案,这里就偷懒直接截图了。解决方法:` Aspose.Cells.Workbook wk = new Aspose.Cells.Workbook(m_strDetailedStaTablePath); Aspose.Cells.Worksheet ws = wk.Worksheets[0]; Aspose.Cells.Drawing.PictureCollection pictures = ws

根据经纬度计算两点之间的距离_csdn_ss1991的博客-程序员ITS304_根据经纬度计算两点距离

package com.bandweaver.tunnel.common.platform.util;import java.math.BigDecimal;import javafx.geometry.Point2D;public class GPSUtil { private static final double EARTH_RADIUS = 6378137;// 赤道半...

推荐文章

热门文章

相关标签