仅需30行代码,轻松集成HMS Core视频编辑服务屏幕录制能力
现如今,手机录屏是必不可少的能力之一。对于游戏领域作者来说,在平时直播玩游戏、制作攻略、操作集锦时,不方便切屏,这时在游戏内如果有一个录制按钮就可以随时开启,记录下每个精彩瞬间,减少后期剪辑工作量;在直播App中开启一键录屏,不光方便主播后续的账号运营与复盘,用户也能随时截取有意思的片段传播在社交媒体上;在会议App里,通常因为要点太多而来不及记录,此时点击录屏按钮,后续再进行会议的回顾、总结与摘要就十分便利;在上网课时,用户可以直接在课程页面点击录屏,方便及时学习和批注;和亲朋好友视频聊天,也可在社交App里直接点击录制,记录下每个相见的时光。
那么,如何在App里集成录屏能力呢?HMS Core视频编辑服务屏幕录制SDK提供全屏录制手机桌面、实时录音、后台录制等能力,集成简单,支持自定义录屏通知、多分辨率选择、多存储路径选择等,无需切屏,助力游戏、直播等App快速、轻松实现录屏功能。
功能特点
30行代码就可以简单集成;
支持自定义通知栏样式;
支持横竖屏切换;
支持多分辨率选择;
录屏结束后,支持自定义存储位置。
Demo
开发步骤
1.开发准备
详细准备步骤可参考华为开发者联盟官网。
2. 集成屏幕录制
- 创建屏幕录制事件监听器HVERecordListener实例,重写监听器的方法。
HVERecordListener mHVERecordListener = new HVERecordListener(){ @Override public void onRecordStateChange(HVERecordState recordingStateHve) { // 录屏状态变化 } @Override public void onRecordProgress(int duration) { // 录屏进度 } @Override public void onRecordError(HVEErrorCode err, String msg) { // 录屏错误 } @Override public void onRecordComplete(HVERecordFile fileHve) { // 录屏完成 } };
- 使用应用上下文和HVERecordListener实例,初始化HVERecord。
HVERecord.init(this, mHVERecordListener);
3.(可选)创建HVERecordConfiguration.Builder实例,设置录屏配置。
HVERecordConfiguration hveRecordConfiguration = new HVERecordConfiguration.Builder() .setMicStatus(true) .setOrientationMode(HVEOrientationMode.LANDSCAPE) .setResolutionMode(HVEResolutionMode.RES_480P) .setStorageFile(new File("/sdcard/DCIM/Camera")) .build(); HVERecord.setConfigurations(hveRecordConfiguration);
- 自定义录屏通知。在自定义录屏通知前,先创建用来指定通知布局的XML文件。XML文件需包含按钮等通知组件的ID。以下为指定录屏通知布局的XML文件使用示例。将自定义录屏通知的按钮对应ID命名为“btn_1”。可根据实际需要决定通知中的按钮数量。
a. 将自定义通知布局传入HVENotificationConfig的初始化方法。
b. 使用XML文件中定义的按钮、textView等组件的ID及点击事件。调用addClickEvent可新建点击事件。
c. 调用setDurationViewId设置textView ID,用来指定录屏时长显示位置。
d. 调用setCallingIntent设置录屏通知点击时返回的intent。在示例中,intent用来打开一个Activity,这是intent的常见用法。
e. 在HVERecord中设置通知配置。
HVENotificationConfig notificationData = new HVENotificationConfig(R.layout.hms_scr_layout_custom_notification); notificationData.addClickEvent(R.id.btn_1, () -> { HVERecord.stopRecord(); }); notificationData.setDurationViewId(R.id.duration); notificationData.setCallingIntent(new Intent(this, SettingsActivity.class) .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK)); HVERecord.setNotificationConfig(notificationData);
- 开始录屏。
HVERecord.startRecord();
- 停止录屏。
HVERecord.stopRecord();
了解更多详情>>
访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHub、Gitee
关注我们,第一时间了解 HMS Core 最新技术资讯~

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
技术分享 | Presto性能对比测试:Kubernetes部署 VS 物理机部署
一、引言 Presto是开源分布式SQL查询引擎,可以对从GB到PB级大小的数据源进行交互式分析查询。Presto支持Hive、Cassandra、关系型数据库甚至专有数据存储等多种数据源,允许跨源查询。(详见参考[1] ) 图1 Presto层次架构图(图源Presto官网) 无处不在的Presto 当今大规模的互联网公司都在使用Presto。 Uber将Presto用于SQL数据湖,每周有超过7000名活跃用户,每天在超过50PB 的HDFS(Hadoop Distributed File System)数据上运行50万次查询。 字节跳动对Presto 进行了广泛的应用,例如数据仓库、BI 工具、广告等。字节跳动的 Presto 集群拥有上万个计算核心,每天处理约 100 万次查询,涵盖 90% 以上的交互式查询。这极大地减少了查询延迟并节省了大量计算资源。 Meta公司(Facebook)使用 Presto 对多个内部数据存储进行交互式查询,包括300PB 数据湖。每天有超过 1,000 名 Facebook 员工使用 Presto 运行 30,000 多个查询,平均每个查询扫描...
- 下一篇
EasyCV DataHub 提供多领域视觉数据集下载,助力模型生产
作者:伝迹 谦言 夕陌 临在 在人工智能广泛应用的今天,深度学习技术已经在各行各业起到了重要的作用。在计算机视觉领域,深度学习技术在大多数场景已经替代了传统视觉方法。如果说深度学习是一项重要的生产工具,那么数据就是不可或缺的生产资料,巧妇难为无米之炊,数据对于视觉模型生产起到了至关重要的作用。 EasyCV是阿里云机器学习平台团队开源的基于Pytorch的all-in-one视觉算法建模工具,搭建了丰富完善的自监督算法体系,提供了效果SOTA的视觉Transformer预训练模型,modelzoo覆盖图像自监督训练、图像分类、度量学习、物体检测、实例分割、语义分割、关键点检测等领域。 EasyCV提供了不同数据源(data_source)的抽象,支持直接读取多种开源数据集格式例如Cifar、ImageNet、CoCo等,同时也支持PAI智能标注平台Itag标注格式和Tfrecord格式数据。 TFrecord格式数据支持使用DALI进行数据处理加速,Itag标注格式图片支持通过缓存机制加速数据读取。 为了方便EasyCV的用户进行模型指标复现、在实际场景训练使用模型,EasyCV汇总了...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- CentOS关闭SELinux安全模块
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8