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


    现如今,手机录屏是必不可少的能力之一。对于游戏领域作者来说,在平时直播玩游戏、制作攻略、操作集锦时,不方便切屏,这时在游戏内如果有一个录制按钮就可以随时开启,记录下每个精彩瞬间,减少后期剪辑工作量;在直播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 最新技术资讯~

  • 相关阅读:
    上周热点回顾(4.15-4.21)
    CS201 USB TYPEC音频控制芯片|TYPEC拓展坞音频芯片|CS201参数特性
    pdf转换工具怎么用?手把手教会你~
    R语言实践——rWCVP 的函数清单
    程序员的护城河:从代码到智慧的跨越
    分布式事务提交慢的一次总结和思考
    【Verilog】跨时钟域处理(一)——多bit MUX同步
    springboot教学系统毕业设计-附源码191733
    operator简介
    Spring Security 安全框架NOTE
  • 原文地址:https://blog.csdn.net/HUAWEI_HMSCore/article/details/127117593