stuartofmine
V2EX  ›  iOS

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

  •  
  •   stuartofmine · Mar 3, 2022 · 2527 views
    This topic created in 1537 days ago, the information mentioned may be changed or developed.

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

    9 replies    2022-03-04 10:02:06 +08:00
    Lin0936
        1
    Lin0936  
       Mar 3, 2022
    observe UIScreen.capturedDidChangeNotification 然后自己实现
    stuartofmine
        2
    stuartofmine  
    OP
       Mar 3, 2022
    @Lin0936 检测屏幕录制不是问题。关键是怎么实现 录屏时肉眼能看到的东西,在屏幕录制的视频里看不到。也就是 UIView 一边正常显示,一边告诉系统的屏幕录制功能:“在录屏时别把我录进去”。
    MrdotX
        3
    MrdotX  
       Mar 3, 2022
    密码框录屏视频不可见是系统自动实现的,想自己搞出来应该有难度,楼主可以研究下,有答案了分享下
    Lin0936
        4
    Lin0936  
       Mar 3, 2022
    @stuartofmine 这个记不太清了,好像是有个 CanvasView 还是什么的 mask 之类的可以用
    fanxiaolu
        5
    fanxiaolu  
       Mar 3, 2022
    Leonard
        6
    Leonard  
       Mar 3, 2022
    FairPlay Streaming 了解一下
    stuartofmine
        7
    stuartofmine  
    OP
       Mar 4, 2022
    @MrdotX 楼下那个链接里方法切实可行,利用 UItextfield 的私有 view 遮罩来实现。自己实现了一遍是可以的。缺点就是利用通过获取指定位置的 UITextField 的 subview 来获取私有 view ,如果后期 UITextField 的 subview 位置变更就要再做处理。
    stuartofmine
        8
    stuartofmine  
    OP
       Mar 4, 2022
    @fanxiaolu 谢谢,实现了一下切实可行。
    stuartofmine
        9
    stuartofmine  
    OP
       Mar 4, 2022
    @Lin0936 利用_UITextLayoutCanvasView 遮罩实现了,就是有一点风险。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1062 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 22:42 · PVG 06:42 · LAX 15:42 · JFK 18:42
    ♥ Do have faith in what you're doing.