腾讯云直播相关问题处理
问题①:弹幕有时候没有从最右边出现,一开始就显示在弹幕区中间,是因为上一条弹幕划过改变了起始位置。
mDanmakuView.pause();
mDanmakuView.addDanmaku(danmaku);
mDanmakuView.resume();
在添加弹幕前暂停,添加完之后恢复,要注意的是该方法有可能阻塞消息并发,最好放在最终添加弹幕处处理该问题,比如在addDanmuInternal方法的添加弹幕处修改。
问题②:主播端横竖屏直播,弹幕显示问题。
在上篇博客腾讯云直播下中提到过横竖屏推流的处理,现在出现的一个问题是 onConfigurationChanged方法没有被调用,但是主播旋转手机的时候确实是在横竖屏推流切换,那么弹幕区的布局就会导致弹幕对于主播来说并不总是从右往左。所以我们需要主播端的activity按照重力感应器处理界面横竖屏。解决方案如下
一、添加权限
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
二、强制开启屏幕旋转效果,将横竖屏的处理交还给SENSOR传感器,放在onCreate的setContentView之后就好。
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
注意:当横屏直播时主播直接退出直播,finish掉直播activity时,相关联的界面是竖屏模式会造成崩溃的可能,可以在manifest文件中配置主播activity和相关的activity属性android:screenOrientation="portrait"
问题③:观看端半屏全屏播放控制
我们一般会给视频播放器添加一个全屏按钮,以便于观众可以自由选择喜欢的观看模式,那么该如何设置按钮和activity的状态呢。半屏全屏可以根据布局的weight来分配播放器的空间,全屏时腾讯云提供了视频播放旋转270度的方法,但是该方法并不会改变activity的横竖屏状态,所以就会出现弹幕方向以及软键盘弹出方向都不对的问题。下面提供一种设置方法。
@Overridepublic void onNetStatus(Bundle bundle) {int width = Integer.parseInt(bundle.get(TXLiveConstants.NET_STATUS_VIDEO_WIDTH).toString());int height = Integer.parseInt(bundle.get(TXLiveConstants.NET_STATUS_VIDEO_HEIGHT).toString());if (width != 0 && height != 0) {if (width > height) {// 横屏推流isPortraitPusher = false;if (fullScreen) {mTxlpPlayer.pause();setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);mTxlpPlayer.resume();}} else {// 竖屏推流isPortraitPusher = true;if (fullScreen) {mTxlpPlayer.pause();setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);mTxlpPlayer.resume();}}}}
以上是腾讯云提供的一个观看端的状态回调,每秒响应一次,其中setRequestedOrientation方法就是设置activity状态的关键。当然manifest依然需要配置configChanges属性。该方法解决了横竖屏问题,相关的页面布局也就会跟随变化,你如果嫌这种页面布局丑又不怕麻烦的话可以让UI设计两套布局分别放置在不同的layout文件夹效果如下。
问题④:主播端预览画面黑屏(部分机器,比如小米Max 荣耀8)
mTXCloudVideoView.enableHardwareDecode(true);
在开始摄像头预览前加入以上代码,作用为开启硬件加速,可改变部分机型不能支持直播需要的资源消耗 cpu gpu 等情况,还能让正常的机型更好的支持直播功能。
一些解释:本来预备将demo上传csdn,各位码友看博客介绍时也好有个参考,demo有问题也可以相互探讨,奈何csdn限制太高,本码农等级太低只有60M的上传权限,所以就传个简洁版,有问题可以留言提出相互探讨demo链接
腾讯云直播相关问题处理相关推荐
- 推流地址 java_Java实现腾讯云直播生成推流地址和播放地址
最近在做小程序直播,用到了腾讯云直播,下面为相关文档和程序 URL规则:https://cloud.tencent.com/document/product/267/13457 防盗链计算:https ...
- 【安卓学习之互动直播】 腾讯云直播 1 - 注册/登录/个人信息
█ [安卓学习之互动直播] 腾讯云直播 1 - 注册/登录/个人信息 █ 相关文章: ● [安卓学习之互动直播] 腾讯云直播 1 - 注册/登录/个人信息 ● [安卓学习之互动直播] 腾讯云直播 2 ...
- 腾讯云直播功能(云直播为例)
背景 项目中若涉及到即时通信IM或者直播这种业务场景的,一般都会选择第三方服务,而腾讯在这方面做的还是很好的,QQ和微信的统治力显而易见. 腾讯的服务接口都是以API文档的形式提供给开发者的,使用的时 ...
- 腾讯云直播代码 java_JAVA 对接腾讯云直播的实现
签名授权 public static T TecentDoPostJsonV3(String url,String key,String secretId, TecentPublicParams he ...
- 腾讯云直播SDK接入指南
现如今直播类的app,如映客,抖音,火山视频等APP,基本大家手里都会安装,很多公司都可能会研发自己的直播系统,在2020年疫情阶段,很多老师采用了远程直播授课的方式.在国内如果你想使用直播技术,那么 ...
- ***腾讯云直播(含微信小程序直播)研究资料汇总-原创
***腾讯云直播(含微信小程序直播)研究资料汇总-原创 原文: ***腾讯云直播(含微信小程序直播)研究资料汇总-原创 这段时间抽空研究了下直播技术,综合比较了下腾讯云直播的技术和文档方面最齐全,现把 ...
- 腾讯云直播答题方案解析
2019独角兽企业重金招聘Python工程师标准>>> 欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者: 腾讯视频云 进入2018年最火的新鲜事物无疑就是" ...
- 一文带你深度解析腾讯云直播答题方案
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯视频云 进入2018年最火的新鲜事物无疑就是"直播答题"了,动辄上百万的奖金更是吸引了大量用户的参与.一场直播动辄 ...
- 腾讯云直播-调用腾讯云RoomService
LiveRoom 如果您只需要做一个简单的直播方案,也就是:主播推流 + 观众观看 + 文字互动,参考单场次直播,或者 自由开播 就可以解决问题. 但是如果您要上连麦功能,单纯依靠 TXLivePus ...
最新文章
- 当我们输入一条SQL查询语句时,发生了什么?
- 让Windows 7揪出每一个暗中运行程序
- Git系列之(七) 常用指令 git reset
- GOPATH与工作空间
- android ringtone获取uri,android – 如何通过文件路径从MediaStore获取Uri?
- T-SQL RAND()
- 音视频技术开发周刊 | 191
- 二级数据库access和mysql_二级数据库access和mysql
- 15款免费IDE,推荐给开发者
- 实现机器学习的循序渐进指南I——KNN
- 利用Python求阶乘
- 全球最大的第一视角视频数据集开源,取自真实生活,还能提升厨艺
- 第4章 URL管理器和实现方法
- Spring与策略模式
- fatal error: stropts.h: 没有那个文件或目录
- linux下部署selenium爬虫程序
- 计算机能不能升级固态硬盘,笔记本升级固态硬盘后会怎样?秒懂
- 地震观测仪器的历史和发展趋势(三)
- DirectX11 计时和动画
- kettle报错 Driver class ‘org.gjt.mm.mysql.Driver‘ could not be found, make sure the ‘MySQL‘ driver