首页 » 软件开发 » 开发屏幕录制工具的技巧(录制屏幕应用程序通知功能)

开发屏幕录制工具的技巧(录制屏幕应用程序通知功能)

雨夜梧桐 2024-07-24 18:09:17 0

扫一扫用手机浏览

文章目录 [+]

面对现实吧。
有时,当我们的应用程序加载了各种功能时,我们的应用程序用户可能很难找到特定的应用程序功能。
我们中的许多人倾向于编写详细说明应用程序中的每个功能的指南,但是 - 老实说 - 用户真的没有时间或耐心阅读长指南,而且并非所有指南都是用户友好的。
有时,使用一个函数比查找和了解它更快。
但这会导致用户无法充分利用我们应用程序的功能。

幸运的是,制作屏幕录制是一种向用户展示功能如何工作的好方法,一步一步。

就在几天前,我决定为自己的应用创建一些视频教程,但首先我需要开发一个屏幕录像机——一个看起来像这样的屏幕录像机。

开发屏幕录制工具的技巧(录制屏幕应用程序通知功能) 软件开发
(图片来自网络侵删)
屏幕录制工具的工作原理

点击主屏幕上的开始录制以开始录制。
然后,切换到要录制的屏幕。
录制过程中,演示应用程序在后台运行,以便整个屏幕都可见以进行录制。
要停止录制,只需在屏幕上向下滑动并点击通知中心的停止,或返回应用程序并点击停止录制。
就这么简单!
录屏将保存到指定目录并显示在应用主屏幕上。

要打造这样一款轻量级的录屏工具,我们只需要使用HMS Core Video Editor Kit的录屏SDK的基本功能即可。
此 SDK 易于集成。
正因为如此,我相信除了用它来开发一个独立的录屏APP,它也很适合给APP配备录屏功能。
这对于游戏和在线教育中的应用程序非常有帮助,使用户无需切换到另一个应用程序即可记录他们的屏幕。

我还发现这个 SDK 实际上允许的不仅仅是开始和停止录制。
以下是一些示例。

该服务允许自定义其通知。
例如,我们可以在通知栏上添加暂停或恢复按钮,让用户只需按一下按钮即可暂停和恢复录制。
不仅如此,还可以在通知栏显示录屏时长,用户只需访问通知中心即可实时查看录屏时长。

SDK 还提供了一系列其他功能,具有极大的灵活性。
支持多种主要分辨率(包括480p、720p、1080p),可根据不同场景(如设备型号限制)进行设置,并允许用户手动选择录音保存位置。

现在,让我们进入开发部分,看看演示应用程序是如何创建的。

开发流程必要的准备工作

第一步:在AppGallery Connect中配置应用信息。

注册为开发人员。
创建一个应用程序。
生成签名证书指纹。
配置签名证书指纹。
根据需要为应用启用服务。

第二步:集成HMS Core SDK。

第 3 步:配置混淆脚本。

第 4 步:声明必要的权限,包括允许屏幕录像机 SDK 访问设备麦克风、将数据写入存储、从存储读取数据、关闭系统对话框和访问前台服务的权限。

构建录屏功能

步骤 1:创建HVERecordListener的实例(它是屏幕录制期间发生的事件的侦听器)并覆盖侦听器中的方法。

HVERecordListener mHVERecordListener = new HVERecordListener(){ @Override public void onRecordStateChange(HVERecordState recordingStateHve) { // Callback when the screen recording status changes. } @Override public void onRecordProgress(int duration) { // Callback when the screen recording progress is received. } @Override public void onRecordError(HVEErrorCode err, String msg) { // Callback when an error occurs during screen recording. } @Override public void onRecordComplete(HVERecordFile fileHve) { // Callback when screen recording is complete. }};

第 2 步:使用应用上下文和 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);

第 4 步:自定义屏幕录制通知。

在此之前,我们需要创建一个指定通知布局的 XML 文件。
此文件包含通知中组件的 ID,例如按钮。
下面的代码说明了我如何将 XML 文件用于我的应用程序,其中为按钮分配了 ID btn_1。
当然,按键数可以根据自己的需要进行调整。

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);

如您所见,在上面的代码中,我最初将自定义通知布局传递给了HVENotificationConfig的初始化方法。
然后,我使用addClickEvent方法创建了一个点击事件。
为此,我使用了按钮和textView的 ID ,以及在 XML 文件中指定的点击事件。
第三,我调用setDurationViewId来设置 textView 的 ID ,以确定屏幕录制时长的显示位置。
在此之后,我调用了 setCallingIntent设置点击通知时返回的意图。
在我的应用程序中,此意图用于打开一个 Activity,如您所知,这是一种常见的意图使用。
最后,我在HVERecord类中设置了通知配置。

第五步:开始录屏。

HVERecord.startRecord();

第 6 步:停止屏幕录制。

HVERecord.stopRecord();

就这样,我创建了一个功能齐全的屏幕录像机。

除了使用它为应用程序制作教学视频外,屏幕录像机还可以成为一系列其他情况的有用伴侣。
例如,它可以用来录制在线会议或讲座,也可以录制和保存与家人和朋友的视频聊天。

我注意到屏幕录像机 SDK 还能够拾取外部声音并在横向和纵向模式之间切换。
对于想要在录制带有实时评论的视频时炫耀自己的技能的游戏玩家来说,这是理想的选择。

这很好地总结了我对如何使用屏幕录制应用程序的想法。
所以你怎么看?我期待在评论部分阅读您的想法。

结论

屏幕录制非常适合制作应用程序功能的视频教程,在视频中展示游戏技巧,以及录制在线会议或讲座。
它不仅对录制屏幕上显示的内容很有用,它还能够录制外部声音,这意味着您可以创建一个支持带有评论的视频的应用程序。

标签:

相关文章

语言中的借用,文化交融的桥梁

自古以来,人类社会的交流与发展离不开语言的传播。在漫长的历史长河中,各民族、各地区之间的文化相互碰撞、交融,产生了许多独特的语言现...

软件开发 2025-01-01 阅读1 评论0

机顶盒协议,守护数字生活的新卫士

随着科技的飞速发展,数字家庭逐渐走进千家万户。在这个时代,机顶盒成为了连接我们与丰富多彩的数字世界的重要桥梁。而机顶盒协议,作为保...

软件开发 2025-01-01 阅读1 评论0

语言基础在现代社会的重要性及方法步骤

语言是人类沟通的桥梁,是社会发展的基础。语言基础作为语言学习的基石,对于个人、社会乃至国家的发展具有重要意义。本文将从语言基础在现...

软件开发 2025-01-01 阅读2 评论0

粤语电影,传承文化,点亮时代之光

粤语电影,作为中国电影产业的一朵奇葩,以其独特的地域特色、丰富的文化内涵和鲜明的艺术风格,赢得了广大观众的喜爱。本文将从粤语电影的...

软件开发 2025-01-01 阅读3 评论0

苹果游戏语言,塑造未来娱乐体验的基石

随着科技的飞速发展,游戏产业逐渐成为全球娱乐市场的重要支柱。在我国,游戏产业更是蓬勃发展,吸引了无数玩家和投资者的目光。而在这其中...

软件开发 2025-01-01 阅读1 评论0