面对现实吧。有时,当我们的应用程序加载了各种功能时,我们的应用程序用户可能很难找到特定的应用程序功能。我们中的许多人倾向于编写详细说明应用程序中的每个功能的指南,但是 - 老实说 - 用户真的没有时间或耐心阅读长指南,而且并非所有指南都是用户友好的。有时,使用一个函数比查找和了解它更快。但这会导致用户无法充分利用我们应用程序的功能。
幸运的是,制作屏幕录制是一种向用户展示功能如何工作的好方法,一步一步。
就在几天前,我决定为自己的应用创建一些视频教程,但首先我需要开发一个屏幕录像机——一个看起来像这样的屏幕录像机。
屏幕录制工具的工作原理点击主屏幕上的开始录制以开始录制。然后,切换到要录制的屏幕。录制过程中,演示应用程序在后台运行,以便整个屏幕都可见以进行录制。要停止录制,只需在屏幕上向下滑动并点击通知中心的停止,或返回应用程序并点击停止录制。就这么简单!录屏将保存到指定目录并显示在应用主屏幕上。
要打造这样一款轻量级的录屏工具,我们只需要使用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 还能够拾取外部声音并在横向和纵向模式之间切换。对于想要在录制带有实时评论的视频时炫耀自己的技能的游戏玩家来说,这是理想的选择。
这很好地总结了我对如何使用屏幕录制应用程序的想法。所以你怎么看?我期待在评论部分阅读您的想法。
结论屏幕录制非常适合制作应用程序功能的视频教程,在视频中展示游戏技巧,以及录制在线会议或讲座。它不仅对录制屏幕上显示的内容很有用,它还能够录制外部声音,这意味着您可以创建一个支持带有评论的视频的应用程序。
,