ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

QtScrcpy 音频传输指南:3 步把 Android 手机声音同步到电脑

QtScrcpy 音频传输指南:3 步把 Android 手机声音同步到电脑 QtScrcpy 音频传输指南3 步把 Android 手机声音同步到电脑【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy如果你用 QtScrcpy 把安卓手机投到电脑上多半遇到过这种情况画面在电脑里声音却还从手机扬声器里跑。这个项目的音频传输功能基于 sndcpy 工具解决的就是这个问题——把手机正在播放的声音实时送到电脑扬声器实现真正的所见即所闻。手机在屏幕、声音在手机上音频传输解决什么投屏工具通常只搬画面声音留在手机上。你要么凑近手机听要么手机外放时电脑和手机两个声音打架。开启 QtScrcpy 的音频传输后手机的声音会实时从电脑扬声器出来手机那头则保持安静。QtScrcpy 里谁负责音频传输这个功能由手机 电脑两端协作完成涉及三个部分手机侧随程序分发的 sndcpy/sndcpy.shWindows 下是 sndcpy.bat脚本负责安装和启动手机上的 sndcpy 应用电脑侧audio/audiooutput.h 定义的 AudioOutput 类负责收数据、放声音界面ui/dialog.cpp 里的安装sndcpy / 开始音频 / 停止音频三个按钮点了才触发上面两件事。声音链路怎么走从手机到电脑的 5 步理解原理只需一条链路谁做什么、数据往哪流你点开始音频AudioOutput::start() 收到设备序列号和端口号 28200然后启动 sndcpy 脚本脚本通过 adb 找到手机 → 没装过就自动安装 sndcpy.apk → 用 appops 授予 PROJECT_MEDIA 权限读取系统音频流的权限→ 执行adb forward tcp:28200 localabstract:sndcpy端口转发把手机里 sndcpy 应用的一个内部端口借用到电脑本机的 28200 端口→ 启动 sndcpy 应用手机上的 sndcpy 捕获设备音频通过刚才那条转发隧道发到电脑的 127.0.0.1:28200电脑端一个 TCP 套接字跑在工作线程里连上本机 28200 端口来多少数据就收多少收到的数据按 48kHz、立体声、16bit 的 PCM 格式未压缩的裸音频直接写进系统的默认播放设备电脑扬声器出声。整条链路上电脑只做了收 放编解码的活儿基本没干所以额外开销很小。启用音频传输的最快方法前提手机已用 USB 连上电脑并开启 USB 调试。打开 QtScrcpy在左侧设备列表里选中你的手机——预期列表里能看到设备序列号点开始音频——预期底部日志区滚出 Ready playing...电脑上开始有手机的声音用完点停止音频——预期声音立即停止脚本进程被终止。界面按钮最终调用的就是这一行在 ui/dialog.cpp 中m_audioOutput.start(ui-serialBox-currentText(), 28200);首次使用不用手动点安装sndcpystart里的脚本会检测到没装过就先装。单独点安装sndcpy适合只想预装应用、暂不播声音的场景。两个值得了解的参数端口 28200写死在按钮回调和脚本里。什么时候动它同时给多台手机投屏或 28200 被其他程序占用时需要改 ui/dialog.cpp 和脚本里的端口保持一致音频缓冲Qt5 分支里setBufferSize(48000*2*15/1000 * 20)约 300ms 缓冲在 audio/audiooutput.cpp 中。什么时候动它声音有卡顿可以适当加大追求更低延迟则减小但要留够网络抖动余量播放格式 48kHz/2 声道/16bit PCM启动前会先查声卡是否支持不支持会打印 audio format not supported 并放弃播放一般不用改但换声卡设备后失败时先怀疑它config/config.ini 里的 AdbPathadb 找不到或版本异常时可在这里指定 adb 的完整路径。没有声音先检查这 4 项设备没被 adb 识别设备列表为空时会提示 No device is connected!。先确认 USB 调试已开启、数据线支持数据传输安卓版本太低sndcpy 捕获音频依赖 Android 10 及以上的系统能力旧系统装上也抓不到声音转发隧道没通日志出现 audio socket connect failed说明 sndcpy 应用没起来或端口转发失败重新点一次开始音频让它重走流程格式不支持日志出现 audio format not supported属于电脑侧声卡问题换一个输出设备试试。适合谁用游戏直播手机开游戏画面和声音一起进 OBS不用再架手机麦克风视频投屏在电脑大屏上看手机视频声音从电脑音箱出远程演示/教学给围观的人听清手机里的提示音和通话声。【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表