iOS 怎样在屏幕录制时,部分组件透明化

2022-03-03 15:11:17 +08:00
 stuartofmine

在启动屏幕录制时,输入密码框键盘和版权保护的内容 在录屏的视频里会不可见(透明或黑色),但在录屏时却又能被用户看到的。这是怎么实现的,用 iOS 的哪个接口?

1785 次点击
所在节点    iOS
9 条回复
Lin0936
2022-03-03 15:20:13 +08:00
observe UIScreen.capturedDidChangeNotification 然后自己实现
stuartofmine
2022-03-03 15:28:04 +08:00
@Lin0936 检测屏幕录制不是问题。关键是怎么实现 录屏时肉眼能看到的东西,在屏幕录制的视频里看不到。也就是 UIView 一边正常显示,一边告诉系统的屏幕录制功能:“在录屏时别把我录进去”。
MrdotX
2022-03-03 15:42:45 +08:00
密码框录屏视频不可见是系统自动实现的,想自己搞出来应该有难度,楼主可以研究下,有答案了分享下
Lin0936
2022-03-03 15:44:55 +08:00
@stuartofmine 这个记不太清了,好像是有个 CanvasView 还是什么的 mask 之类的可以用
fanxiaolu
2022-03-03 15:48:06 +08:00
Leonard
2022-03-03 16:01:40 +08:00
FairPlay Streaming 了解一下
stuartofmine
2022-03-04 10:00:16 +08:00
@MrdotX 楼下那个链接里方法切实可行,利用 UItextfield 的私有 view 遮罩来实现。自己实现了一遍是可以的。缺点就是利用通过获取指定位置的 UITextField 的 subview 来获取私有 view ,如果后期 UITextField 的 subview 位置变更就要再做处理。
stuartofmine
2022-03-04 10:00:38 +08:00
@fanxiaolu 谢谢,实现了一下切实可行。
stuartofmine
2022-03-04 10:02:06 +08:00
@Lin0936 利用_UITextLayoutCanvasView 遮罩实现了,就是有一点风险。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/837704

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX