Matrix 精选

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。

文章代表作者个人观点,少数派仅对标题和排版略作修改。


随着智能手机的普及和更新换代,越来越多人开始将手机作为个人媒体中心和资料中心。然而手机的便携属性决定了它屏幕的物理尺寸,这个尺寸通常无法满足演示或播放的需求。

手机投屏功能应运而生。手机投屏,即将手机屏幕画面实时映射在其他屏幕上,它变相地打破了手机屏幕尺寸的物理限制,为诸如教学演示、开会演示、录屏、摸鱼打手游等场景提供了极大便利。

不过市面上多数手机镜像投屏都是付费的,即便有些提供免费版,多数也有着这样那样的功能限制。相比之下轻量、绿色、无需 ROOT 且免费开源的 Scrcpy(可读作 screen copy)则要良心很多。

安装和使用

Scrcpy 的下载安装非常简单,前往 Scrcpy 下载页面并根据所需平台下载或借助 Chocolatey、Scoop 等包管理器即可下载安装。使用前需要保证电脑已正确配置 ADB 环境。关于 Windows 环境下 ADB 环境的配置可以参考少数派之前的文章。

关联阅读:Windows 操作系统下的 ADB 环境配置

本文内容基于 Win64 平台展开,其他平台的安装使用大同小异,请自行检索资料。

电脑端完成配置后,我们需要在手机端开启 开发者选项USB 调试,然后通过有线或无线两种方式均可进行连接。

关联阅读:免 root 玩转 Android 设备:如何从零开始使用 adb

连接成功后双击解压得到的 scrcpy.exe 文件即可开始投屏。

解压后的文件(Windows)

用鼠标还原触摸操作

相比常见的 Android 投屏工具,Scrcpy 最大的优势在于可以直接借助鼠标在投屏窗口中进行交互:使用鼠标左键进行点击、长按和按住拖动即可相应地在投屏窗口模拟触摸点击、长按和划动操作。

直接用鼠标操控手机

这种直观的操作方式为 Scrcpy 带来了很多有趣的使用场景,摸鱼看少数派?好像是可以嗒:

看少数派

摸鱼打游戏,好像也是可以嗒,使用 ADB 有线连接的情况下还支持高清码率哦:

摸鱼打游戏

如果我们打开了一个横屏应用(真的不是玩游戏),Scrcpy 的窗口还会自动翻转:

如果打开的是横屏应用,投屏也会自动翻转

总体而言,如果你的电脑屏幕显示空间足够,完全可以将 Scrcpy 窗口固定吸附在一旁,学习和工作时直接就能在电脑上对手机上的消息进行快速处理,非常方便。

除了直观好用的鼠标操控,Scrcpy 其实还支持大量的快捷键,适当了解一下也能提高我们的使用体验。

ActionShortcut
切换到全屏模式Ctrl+f
调整窗口到 1:1 (pixel-perfect)Ctrl+g
调整窗口以移除黑边Ctrl+x | 双击1565687016228
点击设备 HOMECtrl+h | 鼠标中键
点击设备 BACKCtrl+b | 鼠标右键1565687174819
点击设备 APP_SWITCHCtrl+s
点击设备 MENUCtrl+m
点击设备 VOLUME_UPCtrl+
点击设备 VOLUME_DOWNCtrl+
点击设备 POWERCtrl+p
点亮屏幕鼠标右键
复制计算机剪贴板到设备Ctrl+v
启用或禁用 FPS 计数器Ctrl+i
从计算机安装 APK拖放 APK 文件到窗口
从计算机传输文件到设备拖放文件到窗口(非 APK 文件)

macOS 用户,请移步 Shortcuts 查询快捷指令。
 

扩展使用场景

基于投屏和鼠标操作,Scrcpy 还可以满足一些扩展的使用需求和应用场景。

音频转发

在 2023 年 3 月 12 日发布的 2.0 版本中,Scrcpy 为 Android 11 及以上系统版本的用户带来了音频转发功能。Android 11 的设备在 Scrcpy 启动时可能会看到一个 shell app 弹窗,运行 Android 12 及以上系统版本的用户则可以「开箱即用」。

如果你在使用的是 Mac 设备,借助这个特性就能「曲线救国」实现 Android 媒体音频的 AirPlay2 投放了。同时 Scrcpy 也支持音频录制,并和下面提到的大多数功能一样支持通过命令行对音频转发以及录制效果进行定制。

可用的命令包括:

scrcpy --record=file.mkv

进行包含音频的视频录制。适合直接在电脑端生成包含音频的录屏文件

scrcpy --audio-buffer=30

调节音频缓冲大小。默认为 30,但数值太小会导致音频出现问题、数值太大则会造成延迟,建议根据连接方式和使用需求自行调整——如果你主要用来进行媒体播放,开发者建议可以设置成 200。

scrcpy --audio-codec=aac --audio-bit-rate=16k

设置音频编码协议和比特率。默认采用 Opus、128Kbps,可自行选择 aac 或未经压缩的原始音频输出(raw)。你可以在这里查看详细的音频命令指南。

录屏

录屏需要使用命令行。更多命令请移步此处

使用命令行开始录屏

打开命令提示符,定位到应用所在文件夹,输入 scrcpy -r filename.mp4 即可开始录屏。录屏文件会以命令指定的文件名自动保存在文件夹内。

录屏

另外,借助 scrcpy -t 命令还可以让录制下来的视频中显示触摸轨迹。

上文说到,借助 ADB 有线连接,Scrcpy 支持高清码率传输,因而它也理所当然地支持设置录屏码率,使用scrcpy -b 8M该条命令即可定义码率,默认是 8M。

最后,我们也可以把上面的命令组合起来使用,,比如 scrcpy -b 16M -r test1.mp4

录好的视频文件信息

另外调整投屏窗口大小也简直不能更简单和直观。直接拖动改变窗口大小即可。出现黑边的话,鼠标双击黑边就会自动消除

调整投屏大小 双击黑边会自动消除

连接多台手机终端

这个场景大家想到了什么?我想到的是数码评测。当我们要对比评测两台手机的时候,利用 Scrcpy 同时联接多台手机终端,似乎可以摆脱脚架云台和录像机了。

通过 adb devices 指令获得不同设备的设备代号后,我们接着就可以用 scrcpy -s 设备序列号 来连接多台设备。不过,Scrcpy 只能一个设备运行一个实例,所以两个投屏不能同框录制。这里建议大家在电脑端上另外使用录屏应用来进行同步录制。

同时连接两台设备

这里我演示了小米 6 和 VIVO Y66I 开打少数派文章的速度。

拖动就能传文件/装应用

Scrcpy 在投屏的同时,还支持直接拖放文件进行传输。如果拖放的是 .apk 文件,也能自动安装。

拖放 APK 文件进行安装

虽然这类应用有更好的实现方法,比如 AirDroid。不过 Scrcpy 更加轻量,更重要的是它在投屏这一核心功能的基础上额外附加了这些功能但依然免费。

小屏投大屏「吃鸡」

在手机端打「吃鸡」类游戏,小屏瞄人体验估计算不上好。如果投屏到 PC 屏幕上,或许,落地成盒的魔咒可以打破,带妹吃鸡的梦想也可以实现了呢?

一般来说,玩家可能会选择使用模拟器。但游戏厂商又不傻,一旦检测出来,快到手的妹子可能就飞了。但如果使用投屏应用,将小屏投射到大屏,视野无盲区、人头锅盖大,嘿嘿嘿嘿……因为我不玩「吃鸡」类游戏,我请朋友来体验了一把,他的评价只有一个字:爽!不过,最后,他提出,略微有点不适应,像拿着数码画板写字画画的感觉。

如果能利用 Scrcpy 「模拟点击」的操作方式,在 PC 端实现直接操控,想必效果会好很多。

我想到了 AutoHotkey。理论上,编写大量的 AutoHotkey 脚本来完成键鼠到手机触摸屏的映射,然后所有的 PC 端操作,都转化为「模拟点击」由 Scrcpy 传递到手机。

考虑到这个实现可能会触发游戏厂商的作弊检测,本文仅作学习交流便不再展开讨论了,具体怎么编写脚本,就由有兴趣的朋友来完成吧。

感谢 @Clyde 为本文提供的建议。

> 下载少数派 客户端、关注 少数派公众号,发现更多好应用 🎉

> 特惠、好用的硬件产品,尽在 少数派sspai官方店铺 🛒

以下内容于 2023 年 03 月 17 日更新
Scrcpy 2.0 更新

Scrcpy 已更新至 2.0 版本,文章补充了关于音频转发相关的细节,并完善了使用包管理器及无线 ADB 方式进行连接的相关说明。