news 2026/9/4 11:09:10

把安卓手机声音同步到电脑:QtScrcpy 音频传输完整指南(3 步配置)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
把安卓手机声音同步到电脑:QtScrcpy 音频传输完整指南(3 步配置)

把安卓手机声音同步到电脑:QtScrcpy 音频传输完整指南(3 步配置)

【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy

QtScrcpy 是一款基于 Qt 的 Android 实时投屏控制软件,除了镜像画面和键鼠操作,它还能把手机扬声器的声音实时同步到电脑播放,这就是本文要讲的音频传输功能。接下来我会先讲清"为什么投屏了却没声音",再带你用 3 步把手机声音接到电脑音箱上,最后拆解 sndcpy 与 AudioOutput 背后的数据链路,并附上一份常见问题的避坑清单。

🤔 先说痛点:投屏画面很流畅,电脑为什么没声音?

不少用户第一次连接设备后会发现:画面实时跟手、操作也灵敏,唯独电脑这边一点声音都没有。

原因并不复杂——投屏协议本身只负责视频帧和输入事件的搬运,音频数据始终留在手机里。QtScrcpy 为此引入了开源工具 sndcpy,补上这条"声音通道":手机端捕获系统音频流,通过 ADB 端口转发送出来,电脑端再实时解码播放。

你可以这样理解:画面走一条管道,声音走另一条,QtScrcpy 负责把第二条管道接好。

下面是 QtScrcpy 的主界面,音频相关的按钮就在界面里:

🚀 最快配置方法:3 步启动手机声音同步

第一步:连上设备并开启 USB 调试

用 USB 线(或先完成无线连接)把安卓设备接入电脑,确认设备已启用 USB 调试,并在程序左上角的设备列表里能看到它的序列号。没有设备时,后面的按钮点了也不会生效——程序会直接提示 "No device is connected!"。

第二步:确认 sndcpy 已装好

start audio时程序会自动处理安装;如果你只想先把应用装到手机上,可以单独点install sndcpy按钮。

这一步的实际工作由 QtScrcpy/sndcpy/ 目录下的脚本完成(Windows 走sndcpy.bat,Linux/macOS 走sndcpy.sh),流程大致是:

  1. 通过pm path com.rom1v.sndcpy检查 sndcpy.apk 是否已安装,没装就自动安装;
  2. appops set com.rom1v.sndcpy PROJECT_MEDIA allow授予音频捕获权限;
  3. 执行adb forward tcp:28200 localabstract:sndcpy,把手机的音频 socket 转发到本机 28200 端口;
  4. 启动 sndcpy 的 MainActivity,并轮询确认进程已运行。

第三步:点击 start audio,听声音

对应源码在 QtScrcpy/ui/dialog.cpp 里,核心就一行:

m_audioOutput.start(ui->serialBox->currentText(), 28200);

传入当前选中设备的序列号,端口固定为 28200。点stop audio则会调用stop()关闭接收线程和音频输出,整个过程无需重启程序。

连上设备后,先投屏、再开声音,画面与声音就同步到电脑了:

🔍 背后原理:声音是怎么"跑"到电脑音箱的?

手机端:sndcpy 捕获音频流

sndcpy 是一个专门的安卓音频转发应用(包名com.rom1v.sndcpy),它利用系统媒体投影能力把手机正在播放的声音截获出来,挂到一个名为sndcpy的本地 abstract socket 上。ADB 的端口转发命令就是把它"桥"到电脑本地 28200 端口。

电脑端:AudioOutput 接收并播放

真正干活的类是AudioOutput(定义在 QtScrcpy/audio/audiooutput.h,实现在 QtScrcpy/audio/audiooutput.cpp),它对外提供三个方法:

  • start(serial, port):拉起 sndcpy 脚本,并启动音频输出与数据接收;
  • stop():停止接收线程、释放音频设备;
  • installonly(serial, port):只执行安装,不开始播放。

数据接收部分用一个独立的QThread承载QTcpSocket,连接本机 28200 端口后,每当readyRead触发就把字节读出来直接写入音频输出设备。音频格式是固定值:48000 Hz 采样率、双声道、16-bit 有符号 PCM(audio/pcm);Qt 5 使用QAudioOutput(并设置了约 0.3 秒的播放缓冲,用来吸收网络抖动),Qt 6 则切换为QAudioSink

整条链路可以浓缩成一张表:

环节负责方说明
捕获音频sndcpy.apk(手机端)截取系统音频,挂到 localabstract:sndcpy
跨端搬运ADB 端口转发tcp:28200localabstract:sndcpy
接收数据QTcpSocket+ 工作线程连本机 28200 端口,500ms 连接超时
解码播放QAudioSink/QAudioOutput48kHz / 立体声 / 16-bit PCM 直出

游戏、视频这类对音画同步有要求的场景,这套方案都能覆盖:

🌍 进阶:跨平台与多设备怎么玩

  • 全平台一致:Windows、macOS、Linux 下操作完全相同,只有 sndcpy 的启动脚本不同(.batbash .sh的切换在runSndcpyProcess()里按系统宏处理)。macOS 下的界面如下:

  • 多设备分组:QtScrcpy 支持同时镜像多台设备并分组控制(见 docs/ 中的演示),每台设备各自独立启停音频互不干扰:

  • 全局参数config/config.ini里的AdbPathMaxFps等参数作用于整体投屏行为;音频端口(28200)与采样格式则由代码固定,普通用户无需改动。

⚠️ 避坑清单:常见问题一次说清

现象原因与处理
点 start audio 没反应设备列表为空,先连接设备;或设备Android 版本低于 10(sndcpy 仅支持安卓 10 以上)
提示权限或安装失败重新点一次install sndcpy,脚本会自动卸载重装并重新申请PROJECT_MEDIA权限
adb 相关报错常见于电脑里同时存在多个 adb 版本,参考 docs/FAQ.md 统一版本即可
连接偶发失败接收端对 28200 端口的连接等待是 500ms,确认设备在线、USB 连接稳定后重试
体验不满意官方 README 目前对该方案持保留态度(标注"目前不推荐使用"),追求稳定也可以直接给手机配对蓝牙耳机,电脑端监听

注意这里:整个音频传输不需要 root,全程依赖标准 ADB 能力,这也是它开箱即用的前提。

写在最后

回到开头的问题:投屏没声音,是因为声音通道原本就不存在;而 QtScrcpy 用 sndcpy +AudioOutput这套"端上捕获、ADB 转发、本地播放"的组合,把这条通道以固定 28200 端口、48kHz PCM 的形态补了起来,且无需 root、三端通用。

现在不妨连上你的设备,点一下 start audio——手机里的音乐和提示音,几秒内就会从电脑音箱里响出来。

【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/4 11:08:56

FANUC控制柜LCD升级实战:A61L-0001-0095更换避坑指南

做工业机器人维修这些年,我经手的FANUC控制柜少说也有几十台。要说哪个备件最容易出问题,A61L-0001-0095这款LCD显示单元绝对排得上号。很多老款R-30iA、R-30iB控制柜上用的都是这块屏,开机黑屏、显示发暗、满屏竖线,问题五花八门…

作者头像 李华
网站建设 2026/9/4 11:08:16

智慧场馆解决方案小程序系统:从架构设计到落地实践

智慧场馆解决方案小程序系统:从架构设计到落地实践 一、系统架构与技术选型 智慧场馆解决方案小程序系统在架构上普遍采用“用户端小程序 管理后台 后端服务”的三端分离模式。参考同类系统的成熟做法,建议技术栈如下: 用户端:U…

作者头像 李华
网站建设 2026/9/4 11:08:09

人工智能常用工具学习(三)

第 3 章 主流 AI 工具分类全景 摘要:本章帮你建立对 AI 工具的全景认知。先按能力形态(文本 / 图像 / 视频 / 语音 / 编程 / 数据分析等十大类)和应用场景(创作 / 办公 / 学习 / 开发 / 营销 / 企业 / 服务 / 自动化八大类&#x…

作者头像 李华
网站建设 2026/9/4 11:06:54

家用无线吸尘器选购全攻略:从核心参数到场景匹配

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/4 11:05:55

ONNX Runtime Windows ZIP包深度解析与部署实践

简介:本资源是ONNX Runtime 1.23.1版本的Windows x64官方预编译CPU运行时安装包,专为AI模型部署开发者、边缘推理工程师及深度学习实践者提供开箱即用的本地推理支持。压缩包共26个文件,包含14个头文件(如onnxruntime_c_api.h、on…

作者头像 李华