写点什么

仅需 30 行代码,轻松集成 HMS Core 视频编辑服务屏幕录制能力

作者:HMS Core
  • 2022 年 9 月 30 日
    上海
  • 本文字数:1620 字

    阅读完需:约 5 分钟

现如今,手机录屏是必不可少的能力之一。对于游戏领域作者来说,在平时直播玩游戏、制作攻略、操作集锦时,不方便切屏,这时在游戏内如果有一个录制按钮就可以随时开启,记录下每个精彩瞬间,减少后期剪辑工作量;在直播 App 中开启一键录屏,不光方便主播后续的账号运营与复盘,用户也能随时截取有意思的片段传播在社交媒体上;在会议 App 里,通常因为要点太多而来不及记录,此时点击录屏按钮,后续再进行会议的回顾、总结与摘要就十分便利;在上网课时,用户可以直接在课程页面点击录屏,方便及时学习和批注;和亲朋好友视频聊天,也可在社交 App 里直接点击录制,记录下每个相见的时光。


那么,如何在 App 里集成录屏能力呢?HMS Core视频编辑服务屏幕录制SDK提供全屏录制手机桌面、实时录音、后台录制等能力,集成简单,支持自定义录屏通知、多分辨率选择、多存储路径选择等,无需切屏,助力游戏、直播等 App 快速、轻松实现录屏功能。

功能特点

30 行代码就可以简单集成;


支持自定义通知栏样式;


支持横竖屏切换;


支持多分辨率选择;


录屏结束后,支持自定义存储位置。

Demo

开发步骤

1.开发准备

详细准备步骤可参考华为开发者联盟官网

2.集成屏幕录制

  1. 创建屏幕录制事件监听器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) { // 录屏完成 }};
复制代码


  1. 使用应用上下文和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);
复制代码


  1. 自定义录屏通知。在自定义录屏通知前,先创建用来指定通知布局的 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);
复制代码


  1. 开始录屏。


HVERecord.startRecord();
复制代码


  1. 停止录屏。


HVERecord.stopRecord();
复制代码


了解更多详情>>


访问华为开发者联盟官网


获取开发指导文档


华为移动服务开源仓库地址:GitHubGitee


关注我们,第一时间了解 HMS Core 最新技术资讯~

发布于: 刚刚阅读数: 3
用户头像

HMS Core

关注

HMS Core技术团队。 2022.06.16 加入

分享最新的技术干货,带来最全的能力应用场景,更新热门开发者圈子活动。与开发者一起,同成长,共精彩。

评论

发布
暂无评论
仅需30行代码,轻松集成HMS Core视频编辑服务屏幕录制能力_编辑_HMS Core_InfoQ写作社区