还未发布过话题
  • 非常好的普及贴👍

  • 楼主的原理是复用 scrcpy 的外壳写了个 ImageReder 推图片流的方案,touch 还是用的 scrcpy 的方案:基于安卓 android.hardware.input.IInputManager$Stub 的 asInterface(android.os.IBinder) 获取 android.os.IInterface 的 manager,然后调用 injectInputEvent 方法

  • 自己根据 minicap 官方的 minicap-experimental(kotlin 版本)
    https://github.com/DeviceFarmer/minicap/tree/master/experimental
    ——这个的兼容性简直可以忽略使用,用来借用思路不错
    写了一个基于 ImageReader 的方案,居然和楼主的代码异常相似

    这里面有一些巨坑,提醒下用来做群控的各位同鞋:
    1、部分手机会出现慢推帧的情况,让人感觉卡顿不实时(例如:红米 note8 pro)
    ImageReader 中有个 maxImages 设置是配对使用的
    模式一:
    ImageReader.newInstance(..., maxImages = 2)
    imageReader.acquireLatestImage()
    模式二:
    ImageReader.newInstance(..., maxImages = 1)
    imageReader.acquireNextImage()
    换模式二时图像就会实时了
    2、部分手机会出现翻转会出现:BufferQueue has been abandoned
    ——在翻转的时候 sleep 下可解决
    3、如果想刷新页面而不关闭应用,注意部分手机 handler 会异常
    ...
    while (true) {
    LocalSocket videoSocket = localServerSocket.accept();
    ...
    }
    搞了很久解决了乱七八糟的问题,将近 200 台设备兼容性不易呀,后续有空做个专门的话题记录下过程

  • 1、一个 socket connect 两次,第一个是视频流,第二个是控制流
    2、可以修改下 accept 的逻辑,可以不用重启
    ...
    while (true) {
    LocalSocket videoSocket = localServerSocket.accept();
    ...
    }

  • libcompress.so 有没有放入/data/local/tmp

  • 发帖必读! at 2021年06月07日

    注册成功